Событие смены песни VideoLan для радиопотока

Я новичок в программировании vlc, я использую python, в частности python-vlc, для воспроизведения интернет-радиостанции.

У меня проигрывается станция, но я не могу получить текущий воспроизводимый трек. Когда я получаю информацию о звуковой дорожке, она все время возвращает дорожку 1.

В любом случае, я ищу способ получить событие смены песни. Кажется, что это возможно. Поскольку в строке заголовка vlc отображается текущая воспроизводимая песня, а в окнах появляется уведомление о новой воспроизводимой песне.

Я бы предпочел получить событие изменения с песней, чтобы мне не приходилось проводить опрос, чтобы проверить, изменилось ли имя.

Любая помощь будет оценена по достоинству.


person user1086377    schedule 10.08.2016    source источник


Ответы (1)


В потоке MPEG нет такого понятия, как «песни». Это просто звуковой поток. Некоторые радиостанции меняют метаданные между ними, поэтому вы можете проверить, изменилось ли название потока или что-то в этом роде. Но это чисто эвристика.

Я предполагаю, что уведомление, которое вы видите, также вызвано изменением метаданных.

person Dominik George    schedule 10.08.2016
comment
Спасибо!! вы помогли мне посмотреть в правильном направлении. Нужно получить медиафайл, разобрать его, а затем получить метаданные now_playing. Еще одна вещь — попытаться выяснить, есть ли событие, которое срабатывает при обновлении метаданных. - person user1086377; 10.08.2016
comment
На настольных компьютерах Linux с DBus событие MPRIS передается по шине. Может быть, это помогает? Я не знаю, что вы задумали, но, может быть, MPRIS в любом случае подойдет, вместо того, чтобы напрямую подключаться к VLC ;)? - person Dominik George; 11.08.2016
comment
метаданные меняются, но обработчик событий vlc не срабатывает при их изменении, так что это либо ошибка, либо что-то, что я упускаю. Решение состояло в том, чтобы использовать событие, которое запускается вовремя, проигрывая изменения, когда я проверяю, изменился ли заголовок. - person user1086377; 31.01.2017
comment
@user1086377 user1086377 У меня та же проблема, посмотрите, что я здесь делаю github.com/wdog/mini-radio-player-pycui с python-vlc - person wdog; 02.05.2020