我对Qt开发和音频编解码器都很陌生。我最近发现了一种使用QSound播放mp3声音的方法。我想在我的qt项目中使用QAudioOutput播放它,但在QAudioDeviceInfo::supportedCodecs()中没有mp3编解码器。
我尝试安装mp3编解码器,但它仍然没有在QAudioDeviceInfo::supportedCodecs()中列出。如何将编解码器添加到QAudioDeviceInfo::supportedCodecs()?
根据定义,QAudioDeviceInfo
提供了一个查询音频设备及其功能的接口。这意味着QAudioDeviceInfo::supportedCodecs()
返回的任何编解码器都是设备能够直接播放的编解码器格式,并且可能是像pcm
这样的原始音频格式。另一方面,mp3
需要首先通过软件解码器,因此它不在此列表中。
请参阅Media Player示例以供参考。它应该能够播放mp3和其他格式。该项目应位于您机器的Qt源代码或安装目录中,位于demo或examples文件夹下。
从消息来源来看,它所做的似乎不仅仅是勉强播放音频。因此,重点关注类Player
的构造函数以及方法Player::addToPlaylist()
ps:我用条件时态说话,因为我对问题4比问题5更熟悉。
编辑:
只要windows媒体播放器不能播放mp3,你的Qt应用程序就不会完全支持mp3,我给你的Player
示例也不会起作用。在您的系统中下载一些编解码器,直到Windows媒体播放器可以播放mp3。