2013-02-15 155 views
5

我对Qt开发以及音频编解码器非常陌生。我最近找到了一种使用QSound播放mp3音效的方法。我想使用QAudioOutput在我的qt项目中播放它,但QAudioDeviceInfo :: supportedCodecs()中没有mp3编解码器。添加mp3编解码器到qt-project

我试过安装mp3编解码器,但它仍未列在QAudioDeviceInfo :: supportedCodecs()中。我如何添加一个编解码器到QAudioDeviceInfo :: supportedCodecs()?

+0

您使用的是哪个版本的Qt? 'QtMultimedia'已经改变了很多。 – UmNyobe 2013-02-15 08:48:15

+0

我正在使用Qt 5.0。 – aswin 2013-02-15 10:43:24

回答

3

按照定义QAudioDeviceInfo提供了一个接口来查询音频设备及其功能。这意味着由QAudioDeviceInfo::supportedCodecs()返回的任何编解码器都是该设备能够直接播放的编解码器格式,并且可能是原始音频格式,如pcm。另一方面mp3需要先通过一个软件解码器,所以它不会在这个列表中。

看看Media Player example作为参考。它应该能够播放MP3和其他格式。该项目应该位于机器的Qt源代码或安装目录中,位于文件夹演示示例

从源头上看,它不仅仅是勉强播放音频。因此,着眼于类Player的构造以及方法Player::addToPlaylist()

PS:我在条件紧张的说话,因为我不是Qt的更熟悉的Qt 4 5

编辑:

只要由于Windows媒体播放器无法播放mp3,因此在您的Qt应用程序中您将无法获得完整的mp3支持,而我给您的Player示例也无法使用。在您的系统中下载一些编解码器,直到Windows媒体播放器可以播放mp3。

+0

我试过这个例子中的类播放器。它不能播放mp3。 – aswin 2013-02-16 09:37:03

+0

你可以用另一个应用程序在你的系统中播放mp3吗?你在使用哪个操作系统? – UmNyobe 2013-02-18 08:42:44

+0

我可以使用VLC播放器。我正在使用Windows XP。 – aswin 2013-02-20 09:40:14