Заставить MPlayer показывать все сообщения об изменении состояния воспроизведения на выходе
В настоящее время я использую MPlayer в режиме slave для видеоплеера, который я делаю.
На данный момент медиаплеер показывает ==== PAUSED ====
когда он приостановлен, и я могу прочитать выходные данные для этого состояния, чтобы знать, когда видео приостановлено.
Командная строка, которую я использую сейчас: msglevel identify=6:statusline=-1
(я отключил статусную строку A: 0.7 V: 0.6 A-V: 0.068 ...
и ненужные мелочи)
Что мне нужно, чтобы установить msglevel (или что-то еще), чтобы он также показывал ==== PLAYING ====
или любой признак того, что он начал воспроизведение, остановился, медиа закончился, загрузка и т. д.?
2 ответа
Я узнал, как получить, если видео приостановлено.
Отправив команду pausing_keep_force get_property pause
для mplayer, он отвечает ANS_pause=no
если не сделать паузу, и ANS_pause=yes
если приостановлено Задача решена.
Исходя из того, что я могу расшифровать из ответа ОП на его / ее собственный вопрос, он / она искал способ определить, был ли mplayer приостановлен или играет. Я написал небольшой скрипт bash, который может справиться с этой задачей с помощью нескольких простых вызовов функций.
На самом деле вы можете просмотреть последние несколько строк вывода mplayer, чтобы увидеть, не приостановлен ли mplayer. Я собрал небольшую библиотеку bash, которую можно использовать для запроса некоторой информации о состоянии mplayer. Посмотрите на мой GitHub. Есть инструкции по интеграции моего скрипта с другими скриптами bash.
Если вы реализуете мой сценарий, вам нужно будет воспроизвести ваш медиафайл, используя playMediaFile
функция. Тогда вы можете просто позвонить isPaused
функционировать как условие в Bash, как это:
if isPaused; then
# do something
fi
# or
if ! isPaused; then
# do something
fi
# or
ifPaused && #do something