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