Qt:在Linux上没有播放

Qt: no playback on linux

本文关键字:播放 Linux Qt      更新时间:2023-10-16

我已经尝试了(我认为)在Qt项目中播放音频的所有可能方式,但没有一种奏效:

  • QSound::play(...)
  • QMediaPlayer
  • QAudioOutput, from http://doc.qt.io/qt-4.8/qaudiooutput.html

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

Qt为每个平台使用特定的媒体后端(链接是qt5,但在Qt4中是相同的)。从错误来看,您的版本似乎正在使用GStreamer

检查发行版上的 gstreamer 开发包是否安装良好,因为QAudioDevice::supportedCodecs必须至少返回音频/pcm。进行包设置,直到测试程序显示pcm。请参阅 https://wiki.qt.io/Building_Qt_for_Linux

您可能还需要安装插件(也是开发包),然后才能使用语音子播放 wav 或 mp3。