Qt WAV形式のオーディオファイルを再生する2つの方法
1742 ワード
どちらの方法も.proファイルにmultimediaモジュールを追加する必要があります.
方法一、QaudioOutputの使用
なお、ここでサンプリングレート、チャネル数、サンプリングサイズの設定は、本例では無損なWAVを再生するためにのみ使用できます.ネット上の多くのコードはサンプリングレートを8000に設定し、チャネル数を1に設定し、サンプリングサイズを8に設定している.これによりWAVも再生できるが、他に説明はなく、再生に使うWAVファイルも提供されず、多くの子供靴がネット上でWAVを探している.再生中に「ブーン」という音がして、全然聞こえない.
「無損とは何か」の参考:http://blog.csdn.net/caoshangpa/article/details/51218597
「無損WAVのダウンロードと作成方法」の参考:http://blog.csdn.net/caoshangpa/article/details/51218994
方法二、QSoundEffectの使用
方法一、QaudioOutputの使用
#include <QApplication>
#include <QFile>
#include <QAudioFormat>
#include <QAudioOutput>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFile inputFile;
inputFile.setFileName("test.wav");
inputFile.open(QIODevice::ReadOnly);
//
QAudioFormat audioFormat;
//
audioFormat.setSampleRate(44100);
//
audioFormat.setChannelCount(2);
// , 8 16
audioFormat.setSampleSize(16);
//
audioFormat.setCodec("audio/pcm");
//
audioFormat.setByteOrder(QAudioFormat::LittleEndian);
//
audioFormat.setSampleType(QAudioFormat::UnSignedInt);
QAudioOutput *audio = new QAudioOutput( audioFormat, 0);
audio->start(&inputFile);
return a.exec();
}
なお、ここでサンプリングレート、チャネル数、サンプリングサイズの設定は、本例では無損なWAVを再生するためにのみ使用できます.ネット上の多くのコードはサンプリングレートを8000に設定し、チャネル数を1に設定し、サンプリングサイズを8に設定している.これによりWAVも再生できるが、他に説明はなく、再生に使うWAVファイルも提供されず、多くの子供靴がネット上でWAVを探している.再生中に「ブーン」という音がして、全然聞こえない.
「無損とは何か」の参考:http://blog.csdn.net/caoshangpa/article/details/51218597
「無損WAVのダウンロードと作成方法」の参考:http://blog.csdn.net/caoshangpa/article/details/51218994
方法二、QSoundEffectの使用
#include <QApplication>
#include <QSoundEffect>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSoundEffect effect;
effect.setSource(QUrl::fromLocalFile("test.wav"));
//
effect.setLoopCount(QSoundEffect::Infinite);
// ,0-1
effect.setVolume(0.8f);
effect.play();
return a.exec();
}