Я недавно столкнулся с той же проблемой. Похоже, что Phonon немного шипел в отношении тегов ID3, особенно сжатых. Я взял на себя создание временной копии каждого открываемого мною mp3 и использовал mutagen для удаления тегов из этой копии. Затем я открываю временный файл без тегов, используя PyQt / Phonon, и все работает, как я ожидаю. Кстати, мутаген потрясающий.
У Фонона есть какая-то привычка молчаливо терпеть неудачу. Вот что я делаю: проверь, есть ли у тебя MediaObject
в Phonon.ErrorState
; если это так, проверьте errorString()
, обычно какое-то непонятное сообщение. Гугли это сообщение и попробуй оттуда поработать.
Редактировать: Хм, интересно. Проблема не в Phonon, а в том, что сервер DirectShow не может воспроизвести файл со сжатыми заголовками ID3. Хотя «исправление», которое я описал выше, работает, я обнаружил, что у меня все еще есть проблемы с воспроизведением файлов других типов, например, .m4a, несмотря на то, что установлены правильные кодеки.
Решением было установить K-Lite Codec Pack и использовать прилагаемый инструмент Win7DSFilterTweaker
, чтобы изменить декодер по умолчанию для различных типов кодеков с «Microsoft» на «ffdshow» , Вам также может понадобиться запустить инструмент конфигурации аудиодекодера ffdshow и установить флажок Показывать диалог, когда неизвестное приложение пытается загрузить ffshow на вкладке DirectShow .