Фонон на Windows - PullRequest
       27

Фонон на Windows

2 голосов
/ 12 сентября 2010

Прямо сейчас у меня есть Phonon, работающий над окнами с бэкэндом DS.Тем не менее, он не будет воспроизводить определенные mp3-файлы, и, хотя он, похоже, воспроизводит файлы m4a (индикатор выполнения песни продолжает двигаться), звук не выходит.Приложение построено с использованием PyQt4 для Windows и предназначено для пользователей Windows.

Я знаю, что это не ошибка моей программы, поскольку, когда я заменил файл на файл, который не воспроизводился нормально, на тот, который работал, песня воспроизводилась отлично.Я скачал phonon vlc и попытался собрать его, но я не могу заставить CMake создать make-файл.Всякий раз, когда я пытаюсь, мне сообщают, что dev-cpp gcc не может создать простой тестовый файл.

Я также пытался загрузить clementine и amorak, чтобы посмотреть, смогу ли я заставить это работать, но у меня былотам такие же проблемы.Кто-нибудь сталкивался с такой проблемой раньше?

1 Ответ

1 голос
/ 10 июня 2012

Я недавно столкнулся с той же проблемой. Похоже, что Phonon немного шипел в отношении тегов ID3, особенно сжатых. Я взял на себя создание временной копии каждого открываемого мною mp3 и использовал mutagen для удаления тегов из этой копии. Затем я открываю временный файл без тегов, используя PyQt / Phonon, и все работает, как я ожидаю. Кстати, мутаген потрясающий.

У Фонона есть какая-то привычка молчаливо терпеть неудачу. Вот что я делаю: проверь, есть ли у тебя MediaObject в Phonon.ErrorState; если это так, проверьте errorString(), обычно какое-то непонятное сообщение. Гугли это сообщение и попробуй оттуда поработать.

Редактировать: Хм, интересно. Проблема не в Phonon, а в том, что сервер DirectShow не может воспроизвести файл со сжатыми заголовками ID3. Хотя «исправление», которое я описал выше, работает, я обнаружил, что у меня все еще есть проблемы с воспроизведением файлов других типов, например, .m4a, несмотря на то, что установлены правильные кодеки.

Решением было установить K-Lite Codec Pack и использовать прилагаемый инструмент Win7DSFilterTweaker, чтобы изменить декодер по умолчанию для различных типов кодеков с «Microsoft» на «ffdshow» , Вам также может понадобиться запустить инструмент конфигурации аудиодекодера ffdshow и установить флажок Показывать диалог, когда неизвестное приложение пытается загрузить ffshow на вкладке DirectShow .

...