играйте mp3 файл как только его загруженный

Эти строки являются необработанным представлением специальных символов, которые Вы ввели (как дом, конец, стрелки, вкладка и т.д....).
Их неблагоприятным воздействием управляет команда, которую Вы выполняете, если это получит вход от терминала, то эти символы будут частью, он вводится.
Если это не берет вход от терминала, это не должно иметь никаких отрицательных эффектов ни на одну из разновидностей Unix, о которых я знаю.

1
22.11.2013, 20:59
4 ответа

Файл игры непосредственно

Вы не должны даже загружать эти файлы до проигрывания их с mplayer. От mplayer страница справочника:

выборка

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

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

Пример

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

Производительность

Необходимо будет, вероятно, скорректировать значения кэша для получения mplayer воспроизводить Ваше содержание гладко. Существует несколько переключателей к mplayer это допускает это.

выборка из mplayer страницы справочника

-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 -

1-е завихрение, затем mplayer

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

Пример

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

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

$ smplayer http://mymusic.store.com/musicfoo.mp3
2
27.01.2020, 23:39
  • 1
    Да, однако, это не играет как непрерывный поток. –  deostroll 23.11.2013, 07:56
  • 2
    @deostroll - может Вы объяснять свой комментарий, я не понимаю то, что Вы подразумеваете под непрерывным потоком. загрузка –  slm♦ 23.11.2013, 07:58
  • 3
    происходит..., когда она превышает предел кэша, она начинает играть... между тем, загрузка файла продолжается. Таким образом, это играет до выхлопа кэша... затем это ожидает кэша для заполнений... и так далее. Таким образом, я слышу журнал неустойчивых пауз. –  deostroll 23.11.2013, 08:21
  • 4
    @deostroll - видят обновления, необходимо будет играть с переключателями кэша, это - недостаток к воспроизведению в в реальном времени. Вы - неспособность воспроизвести, непосредственно функция Вашей низкой пропускной способности или ограниченной пропускной способности с сервера. –  slm♦ 23.11.2013, 09:15
  • 5
    @deostroll - я добавил 2 дополнительных метода, сообщите мне, нужно ли Вам дополнительное разъяснение. –  slm♦ 23.11.2013, 11:37

Попытка:

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

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

0
27.01.2020, 23:39
  • 1
    аргументом mplayer должен быть файл wget, "создает" при загрузке... так технически я не знаю, что аргумент mplayer... надеется, что Вы понимаете мою мысль... –  deostroll 22.11.2013, 22:58
  • 2
    При вызове wget буквально как выше файл будет musicfoo.mp3. –  goldilocks 22.11.2013, 23:23
  • 3
    , я хотел бы передать аргумент wget программно... следовательно нет никакого способа для меня определить название файла, который будет загруженным... –  deostroll 23.11.2013, 07:54
  • 4
    Почему Вы не объяснили это в своем вопросе во-первых и отправили код, который Вы на самом деле используете вместо чего-то, что Вы действительно не хотите делать? Так или иначе slm можно было покрыть Вас. –  goldilocks 23.11.2013, 17:37

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

mkdir /tmp/download_$$
cd /tmp/download_$$
wget http://mymusic.store.com/musicfoo.mp3
mplayer *
0
27.01.2020, 23:39

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

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

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

0
27.01.2020, 23:39

Теги

Похожие вопросы