Как я могу запросить mplayer о в настоящее время песне проигрывания?

Я использую эту команду, чтобы играть музыку в фоновом режиме (без GUI):

mplayer -shuffle -playlist /home/geppettvs/NAS/Musica/playlist.m3u </dev/null >/dev/null 2>&1 &

Который приводит к музыке, собираемой от папки Music в NAS, с которым играют в фоновом режиме.

Сам плей-лист является просто файлом плей-листа, сделанным с Rhythmbox или любым другим программным обеспечением аудиоплеера со способностью управлять плей-листами.

Так, mplayer запускается со случайной песни, после которой он продолжит непрерывно играть музыку.

То, в чем я нуждаюсь, должно так или иначе запросить mplayer и попросить у этого названия песни, которое в настоящее время играет для размещения его куда-нибудь, скажем: запишите это в текстовом файле для более позднего использования. (Просто имя файла без пути)

Прямо сейчас, после того как mplayer начинает играть музыку из плей-листа, некоторые усилия запросить то, что является проигрыванием mplayer, приведет к "плей-листу m3u" как название заголовка вместо фактического mp3 имени файла.

Альтернативы

Я открыт для любых альтернатив, пока существует лучший способ сделать это без GUI. Просто сообщите мне, и я попробую его. Любые идеи одобрены.

5
задан 18 August 2016 в 14:16

1 ответ

Что-то вроде этого сумасшедший сценарий должно работать:

lsof -c mplayer | fgrep ".mp3" | awk -F"/" '{ print $NF; }' | cut -d'.' -f1

В основном это прокладывает себе путь:

  • lsof часть ищет все открытые файлы, которые открыты из-за захватов mplayer
  • fgrep, .mp3, принимающий это, является mp3. Я использовал fgrep, потому что мне нужен точечный символ, который также будет учтен.
  • awk входит и в основном разграничивает все на основе наклонных черт с того, где файлы расположены, и затем $NF берет последнее вхождение этого.
  • , Так как Вы хотели файл без mp3 первой части, помещает основное сокращение там для него, но это могло также быть сделано с awk.

Поэтому теперь у Вас есть способ захватить песни от mplayer.

Примечание, которое mplayer должен выполнять для этого для работы с тех пор lsof проверки открытые файлы.

5
ответ дан 23 November 2019 в 09:21

Другие вопросы по тегам:

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