QAudioDecoder在Xubuntu 18.04上返回无效的QAudioFormat

时间:2019-04-03 08:40:28

标签: c++ qt ubuntu gstreamer qtmultimedia

我不能使QAudioDecoder(Qt 5.9.5)在Xubuntu 18.04上工作。具体来说,无论我尝试使用哪个文件,我总是得到QAudioDecoder :: audioFormat()返回的音频格式无效。

例如,以下普通程序以“无效的原始音频格式”结尾:

int main(int argc, char **argv)
{
    QApplication app (argc, argv);

    const char sampleAudioFilename[] =
            "/home/alx/Downloads/M1F1-Alaw-AFsp.wav";
    QAudioDecoder* track = new QAudioDecoder();
    qInfo("%s%s","Opening ",sampleAudioFilename);
    track->setSourceFilename(sampleAudioFilename);
    track->start();
    if (track->error() != QAudioDecoder::NoError) {
        qFatal("%s",track->errorString().toStdString().data());
    }
    QAudioFormat originalFormat = track->audioFormat();
    if (!originalFormat.isValid()) {
        qFatal("Not valid original audio format");
    }
return (0);
}

有趣的是,即使track->error()的属性无效,originalFormat也不会返回任何问题。 我以前安装了发行版上所有与gstreamer和libgstreamer相关的软件包。确实,我能够通过命令行gstreamer的工具(例如

)播放并成功检查测试文件
gst-play-1.0 -v /home/alx/Downloads/M1F1-Alaw-AFsp.wav

以及与VLC一起播放。

有什么主意吗?请问你能帮帮我吗? 预先谢谢你。

0 个答案:

没有答案