воспроизводить mp3-файл сразу после его загрузки

Как объединить эти две разные команды в один скрипт:

$ wget http://mymusic.store.com/musicfoo.mp3 #file gets saved as musicfoo.mp3 $ mplayer musicfoo.mp3 

wget пытается сохранить файл на диск с именем / расширением по умолчанию файла (как в Интернете) … в моем mp3-файле … mplayer использует этот файл в качестве аргумента для его воспроизведения.

Любая идея, как я могу объединить это с одним сценарием?

  • Wget список файлов с предсказуемыми шаблонами URL программно?
  • Запись вывода wget или curl в пользовательское имя файла на основе URL-адреса
  • нижняя граница скорости загрузки в wget
  • В чем разница между curl и wget?
  • Загрузите список веб-страниц в файл и переименуйте их, чтобы избежать перезаписи?
  • Альтернативы wget
  • Изменение разрешений по умолчанию для wget?
  • Как загрузить папку с диска Google с помощью терминала?
  • 4 Solutions collect form web for “воспроизводить mp3-файл сразу после его загрузки”

    Воспроизвести файл напрямую

    Вам не нужно даже загружать эти файлы, прежде чем воспроизводить их с помощью mplayer . На странице mplayer man:

    выдержка

      mplayer [options] [file|URL|playlist|-] 

    Таким образом, mplayer может напрямую воспроизводить URL-адреса.

    пример

     $ mplayer http://mymusic.store.com/musicfoo.mp3 

    Представление

    Вам, вероятно, придется настроить значения кеша, чтобы заставить mplayer плавно воспроизводить ваш контент. В mplayer есть несколько переключателей, которые позволяют это делать.

    выдержка из mplayer man page

     -cache <kBytes> This option specifies how much memory (in kBytes) to use when precaching a file or URL. Especially useful on slow media. -cache-min <percentage> Playback will start when the cache has been filled up to <percentage> of the total. 

    Поэтому, возможно, что-то вроде этого, вы будете играть с этими значениями, чтобы добиться плавного воспроизведения вашей ситуации.

     $ mplayer -cache 8000 -cache-min 30 http://mymusic.store.com/musicfoo.mp3 

    Скачать и играть

    Другой способ, обсуждаемый в некоторых других ответах, – использовать wget для загрузки, а затем воспроизвести файл. Врожденная проблема с этим подходом заключается в том, чтобы получить имя файла, после того как файл будет загружен.

    скручивание в mplayer

    При таком подходе в нем есть фактически 2 метода. Первый заключается в использовании wget или curl для запуска загрузки, а затем для передачи данных в mplayer .

    пример

     $ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer - 

    Вы также можете кэшировать загрузку здесь, как и раньше:

     $ wget http://mymusic.store.com/musicfoo.mp3 -O - | mplayer -cache 8192 - 

    curl 1st, затем mplayer

    Другой способ – загрузить файл, а затем воспроизвести его. Вы можете использовать функцию Bash для ее переноса, поскольку теперь она становится двухэтапным процессом, когда файл полностью загружается первым, а затем воспроизводится потом.

    пример

     $ function smplayer() { wget $@ && mplayer $(basename $@); } 

    Затем, чтобы выполнить загрузку и воспроизведение, вы должны запустить такую ​​функцию:

     $ smplayer http://mymusic.store.com/musicfoo.mp3 

    Пытаться:

     wget http://mymusic.store.com/musicfoo.mp3 && mplayer musicfoo.mp3 

    && означает «после успешного завершения левой команды». Это предполагает, что команда на левой стороне не вилка или использование нестандартных значений статуса выхода . Я сомневаюсь, что wget делает последнее, и до тех пор, пока вы не используете ключ -b , он тоже не должен делать первый.

    Попробуй это :

     mkdir /tmp/download_$$ cd /tmp/download_$$ wget http://mymusic.store.com/musicfoo.mp3 mplayer * 

    У меня есть решение:

     fpath=$(basename "$1") wget $1 mplayer $fpath 

    Вышеупомянутая проблема заключается в том, что wget присваивает имя файла загруженному файлу (добавляет конец .1 к его концу), если имя файла уже существует. Следовательно, значение fpath не является правильным файлом, так сказать.

    Interesting Posts

    Похоже, что некоторые основы отсутствуют в ubuntu … или я их не установил?

    Как создать правило для брандмауэра IPCop для корректной работы bittorrent trafic?

    Важным является порядок блоков в / etc / network / interfaces? если да, то почему?

    Пространства сетевых имен и общедоступный IP-адрес

    Сравните файлы и расскажите, насколько они похожи

    Где Steam должен установить игровые данные на Linux, чтобы соответствовать FHS?

    Попытка получить vimpager (заменить меньше), работая с nerdTREE

    Использование общего серийного модема

    Исключить все подкаталоги, кроме одного определенного пути в команде find

    Как использовать git для этой конкретной цели?

    Chrome, Linux Mint, Low FPS в играх

    Не удается заставить USB-адаптер ethernet работать под CentOS 6 минимальным

    Почему я не могу зеркально отразить веб-сайт (используя wget)?

    Отслеживать доступ к HDD?

    Как использовать sshpass для предоставления пароля на втором ssh hop

    Linux и Unix - лучшая ОС в мире.