2

现在我让 Phonon 在带有 DS 后端的 Windows 上工作。但是,它不会播放某些 mp3 文件,虽然它似乎正在播放 m4a 文件(歌曲进度条一直在移动),但没有声音出来。该应用程序是在 Windows 上使用 PyQt4 构建的,面向 Windows 用户。

我知道这不是我的程序的错,因为当我将一个无法正常播放的文件替换为正常播放的文件时,歌曲播放完美。我已经下载了phonon vlc,并尝试构建它,但我无法让CMake创建一个makefile。每当我尝试时,它都会告诉我 dev-cpp gcc 无法制作简单的测试文件。

我还尝试下载克莱门汀和阿莫拉克,看看我是否可以让它工作,但我在那里也遇到了同样的问题。有没有人遇到过这种问题?

4

1 回答 1

1

我最近遇到了同样的问题。似乎 Phonon 对 ID3 标签,特别是压缩标签有点讨厌。我已经开始为我打开的每个 mp3 创建一个临时副本,并使用诱变剂从该副本中删除标签。然后我使用 PyQt/Phonon 打开去标签的临时文件,一切都按我的预期工作。顺便说一句,诱变剂很棒。

Phonon 确实有一些习惯性地默默地失败。这就是我所做的:检查您MediaObject是否在Phonon.ErrorState; 如果是这样,请检查它errorString(),通常是一些难以理解的信息。谷歌这条消息并尝试从那里开始工作。

编辑:嗯,有趣。这不是 Phonon 的问题,而是 DirectShow 后端无法播放带有压缩 ID3 标头的文件。虽然我上面概述的“修复”确实有效,但我发现我在播放其他类型的文件时仍然遇到问题,例如 .m4a,尽管安装了正确的编解码器。

解决方案是安装K-Lite Codec Pack,并使用Win7DSFilterTweaker它附带的工具将各种编解码器类型的默认解码器从“Microsoft”更改为“ffdshow”。当未知应用程序尝试DirectShow 控制选项卡中加载 ffshow 时,您可能还需要运行ffdshow 音频解码器配置工具并勾选标记为显示对话框的框。

于 2012-06-09T21:16:49.453 回答