现在我让Phonon在带有DS后端的Windows上工作。但是,它不会播放某些mp3文件,虽然它似乎正在播放m4a文件(歌曲进度条不断移动)但没有声音出现。该应用程序是在Windows上使用PyQt4构建的,面向Windows用户。
我知道这不是我的程序的错误,因为当我用一个没有正常播放的文件替换一个文件时,该歌曲播放完美。我已经下载了phonon vlc,并尝试构建它,但我无法让CMake创建一个makefile。每当我尝试时,它告诉我dev-cpp gcc无法生成一个简单的测试文件。
我也尝试下载克莱门汀和amorak以确定我是否可以使用它,但我也有同样的问题。有没有人遇到过这类问题?
答案 0 :(得分:1)
我最近遇到了同样的问题。似乎Phonon对ID3标签有点不合适,特别是压缩标签。我已经开始创建我打开的每个mp3的临时副本,并使用mutagen删除该副本中的标记。然后我使用PyQt / Phonon打开de-tagged临时文件,一切正常。 BTW,诱变很棒。
Phonon确实有一种合理默默地失败的习惯。这就是我所做的:检查MediaObject
是否在Phonon.ErrorState
;如果是这样,请检查其errorString()
,通常是一些难以理解的消息。谷歌这条消息并尝试从那里开始工作。
编辑:嗯,有趣。不是Phonon遇到问题,DirectShow后端无法使用压缩的ID3标头播放该文件。而#34;修复"我概述上面的工作,我发现我在播放其他类型的文件时仍然遇到问题,例如: .m4a,尽管安装了正确的编解码器。
解决方案是安装K-Lite Codec Pack,并使用它附带的Win7DSFilterTweaker
工具更改各种编解码器类型的默认解码器来自" Microsoft"到" ffdshow"。您可能还需要运行 ffdshow音频解码器配置工具,并在未知应用程序尝试在 DirectShow控件中加载ffshow 时勾选标记为显示对话框的框 tab。