mplayer - Как определить EOF в Python

84
9

У меня есть плейлист, который меняется во время игры, Mplayer не перезагружает плейлист в конце первого трека, поэтому мне нужно сделать снимок EOF, а затем перезагрузить mplayer для продолжения воспроизведения. Как определить EOF с помощью mplayer и popen? Или есть более простой способ, который мне не хватает? Я проверил предложенный "дублирующий" вопрос, и я не верю, что он дает мне ответ, поскольку это захватывает конец трека/плейлиста через popen.

def play_music():
global myplaylist
global playflag
if not playflag:
mycommand = ["mplayer -really-quiet -slave -volume 1 -playlist /home/pi/scripts/playlist.txt"]
p = subprocess.Popen(mycommand, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
playflag = True
else:
pass

спросил(а) 2016-08-19T21:46:00+03:00 3 года, 9 месяцев назад
1
Решение
105

Ну, я не мог исправить эту проблему, должен быть способ получить статус mplayer, а затем сделать некоторый код вокруг состояния. Как бы то ни было, я не мог заставить mplayer перезагрузить плейлист, как только у него появился новый трек, и когда я это сделал, это началось с самого начала. Нечасто я позволял чему-то избивать меня!

Для будущих читателей я пошел по маршруту MPD/MPC, не туда, куда я хотел пойти, но у него хорошее управление списком воспроизведения, и с использованием свойства client.consume оно фактически удаляет треки из плейлиста по ходу игры, что отлично подходит для сценария Jukebox,

ответил(а) 2016-08-23T11:09:00+03:00 3 года, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема