如何使用Qt 5和C++播放声音文件?我已经尝试QSound但是我被告知它在Ubuntu(我目前的操作系统)中Phonon不起作用而且我听说过但是我的Qt包中似乎没有可用的库.
小智 6
QT5
QFile inputFile;
QAudioOutput* audio;
inputFile.setFileName("/tmp/test.raw");
inputFile.open(QIODevice::ReadOnly);
QAudioFormat format;
// Set up the format, eg.
format.setFrequency(7600);
format.setChannels(1);
format.setSampleSize(6);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);
QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(format)) {
qWarning()<<"raw audio format not supported by backend, cannot play audio.";
return;
}
audio = new QAudioOutput(format, this);
connect(audio,SIGNAL(stateChanged(QAudio::State)),SLOT(finishedPlaying(QAudio::State)));
audio->start(&inputFile);
Run Code Online (Sandbox Code Playgroud)
C++
使用 BOOL PlaySound(LPCTSTR pszSound, HMODULE hmod, DWORD fdwSound);
#pragma comment (lib, "winmm.lib")
...
PlaySound(TEXT("recycle.wav"), NULL, SND_ASYNC);
Run Code Online (Sandbox Code Playgroud)
将SND_选项设置为SND_ASYNC.
无论如何你可以听音频.
| 归档时间: |
|
| 查看次数: |
2543 次 |
| 最近记录: |