Qt:没有在linux上播放

时间:2016-06-10 07:56:07

标签: c++ linux qt audio

我尝试过(我认为)在Qt项目中播放音频的所有可能方式,其中没有一种方法有效:

这些解决方案都没有播放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"

1 个答案:

答案 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之前,您可能还需要安装插件(也是开发包)。