Mplayer управляет при использовании плейлистов stdin

Я столкнулся с этим сообщением: как сохранить консольный ввод в mplayer при чтении из stdin?

Но ответ там не работает для меня.

Я выполняю следующую команду:

ls -l | grep -e mp3 -e wav | awk '{i=index($0,$9); $0=substr($0,i); printf "./"$0"\n"}' | grep " " | mplayer -playlist - 

и это прекрасно работает. (минус контроль)

Я пробую это: (как предложено в вышеуказанном вопросе)

 ls -l | grep -e mp3 -e wav | awk '{i=index($0,$9); $0=substr($0,i); printf "./"$0"\n"}' | grep " " | mplayer -playlist /dev/fd/3 3<&0 </dev/tty 

и это дает мне следующее:

 Playing /dev/fd/./Pink Floyd - Another Brick in the Wall.mp3. File not found: '/dev/fd/./Pink Floyd - Another Brick in the Wall.mp3' Failed to open /dev/fd/./Pink Floyd - Another Brick in the Wall.mp3. 

может кто-то объяснить, что я делаю неправильно (и как это исправить?)

В настоящее время работает ubuntu 12.10 с использованием sh.

2 Solutions collect form web for “Mplayer управляет при использовании плейлистов stdin”

Это просто, что ваши пути к файлам относительны, и mplayer, похоже, интерпретирует это как отношение к местоположению плейлиста (а не к вашей рабочей директории или тому подобное). Для нулевого приближения вы можете заменить «./» на ваш текущий каталог, но то, что мне будет легче, – это использовать

 find "$(pwd)" -maxdepth 1 -name \*.mp3 -o -name \*.wav | mplayer -playlist /dev/fd/3 3<&0 0</dev/tty 

(Так что ваши ls , grep , awk заменяются этой find . По общему признанию, я не полностью проверял полностью, если это полностью эквивалентно. Удаление -maxdepth заставило бы его перезаписывать в подкаталоги, что может быть так, как вы хотите? man find здесь твой друг.)

mplayer считает относительные пути в списке воспроизведения относительно каталога, в котором находится список воспроизведения. Попробуйте использовать абсолютные пути; измените свой awk скрипт на что-то вроде

 awk -v dir="$(pwd)" '{ ... ; printf dir "/" $0 "\n" }' 
  • Как запустить новый графический интерфейс с пользовательской командой из tty1?
  • Использование mplayer внутри kvm / qemu
  • Как иметь непрерывный онлайн-поток с ffplay?
  • Как создать PCM wav с помощью mplayer?
  • Получение mplayer для возврата ошибки, когда она не может загрузить радиостанцию
  • Как установить mplayer с терминала?
  • Звуковые фильтры mplayer содержат противоположность режима «Караоке»?
  • mplayer: ошибка перемещения
  • mplayer: Проблемы с открытием звуковых файлов, работы gnome-mplyaer, почему?
  • Как заставить mplayer играть с stdin?
  • grep ключевое слово из вывода Mplayer и отправить остальное в файл
  • Linux и Unix - лучшая ОС в мире.