我尝试过(我认为)在Qt项目中播放音频的所有可能方式,其中没有一种方法有效:
QSound::play(...)
这些解决方案都没有播放WAV或MP3,我尝试从资源(qrc:media/file.wav
)或仅从磁盘(/full/path/to/file.wav
)加载文件。
我认为问题出在编解码器上。 QAudioDevice::supportedCodecs()
返回一个空列表。我在一个没有播放音频/视频问题的Linux系统上(Ubuntu 14.04,通常在VLC中播放......使用自己的编解码器?)。
使用QSound(WAV& MP3):
QSoundEffect(pulseaudio): Error decoding source
QMediaplayer(WAV):没有任何反应
QMediaplayer(MP3):
GStreamer; Unable to play - "qrc:media/lowtone.mp3"
答案 0 :(得分:1)
Qt对每个平台使用specific media backends(链接为qt5,但在Qt4中相同)。从错误看,您的版本使用GStreamer
。
检查您的发行版上的gstreamer开发包是否已正确安装,因为QAudioDevice::supportedCodecs
must return at least audio/pcm。处理软件包设置,直到您的测试程序显示pcm
。见https://wiki.qt.io/Building_Qt_for_Linux
在使用声子播放wav或mp3之前,您可能还需要安装插件(也是开发包)。