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

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

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

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

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

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 не является правильным файлом, так сказать.

  • wget - поврежденные каталоги
  • Рекурсивная загрузка всех файлов из дочернего каталога веб-сайта с помощью wget
  • Как сделать локальное зеркало веб-сайта с всплывающим окном подтверждения?
  • Wget не загружает изображения в рекурсивную загрузку
  • Как определить, куда перенаправляется ссылка
  • Bash Script - Wget Graphical Download Progress
  • Как прервать wget после получения N раз файла не найден?
  • Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме
  • Почему wget не работает через туннель ssh? Что делает прокси-сервер для предотвращения использования ssh-client?
  • wget веб-сайт в csv
  • Bash Пока петли
  • Interesting Posts

    Sudo требует пароль

    Строительство дома

    Клавиатура просто подключена значительно увеличивает время загрузки ядра

    Как копировать только файлы в указанный каталог в другую папку

    Почему Linux разрешает «init = / bin / bash»?

    Как использовать wget для загрузки определенных файлов из определенного каталога, когда сам каталог не имеет index.html?

    Python теперь считает, что аргументы являются файлами: Broken emerge, pip, livestreamer и большинство инструментов с использованием Python

    Как проверить, поврежден ли файл или нет?

    Не удается избавиться от старого сетевого подключения Bluetooth в NetworkManager

    Управление памятью, смещение подкачки

    Как установить интервал проверки для параметра set autoread в VIM

    Есть ли способ чтения последнего элемента массива с помощью bash?

    сыр не работает в beagleboneblack, установленном с angstrom, используя щебень LCD

    Установка видеодрайвера на Arch Linux

    Служить интернету на удаленном компьютере через сеанс SSH?

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