在linux中播放wav文件

时间:2015-01-31 21:05:22

标签: c++ linux qt media wav

我知道这个问题是重复的。但在其他问题中,人们建议Phonon Qt 5+中没有(我使用的是5.4)。

我还尝试使用QAudioOutput

    QFile inputFile;
    inputFile.setFileName("/home/efog/G6_Build/sound.wav");
    inputFile.open(QIODevice::ReadOnly);

    QAudioFormat format;
    format.setSampleRate(44100);
    format.setChannelCount(2);
    format.setSampleSize(16);
    format.setCodec("audio/wav");

    QAudioOutput *audio = new QAudioOutput( format, 0);
    audio->start(&inputFile);

但它不起作用,与QSound相同:

    QSound::play("/home/efog/G6_Build/sound.wav");
已安装

NASGStreamer。那么,我该如何播放wav个文件?

1 个答案:

答案 0 :(得分:2)

有时QSound首次加载文件时需要一些时间。尝试使用该文件创建一个QSound对象,然后播放它,也许给它一点时间。

QSound *sound = new QSound("/home/efog/G6_Build/sound.wav");
sound->play();

你确定,你的wav文件真的是一个wav文件吗?我见过带有wav扩展名的音频文件,但实际上它们是mp3文件。也许先试试另一个音频文件。