如何在 QT C++中录制和保存音频?

How can I record and save audio in QT C++?

本文关键字:保存 音频 QT C++      更新时间:2023-10-16

我正在尝试使用Qtc++录制和保存音频文件,这是我为此目的的代码。

QAudioRecorder * audioRecorder = new QAudioRecorder();
if(audioRecorder->state() == audioRecorder->StoppedState)
{
// Set recording Settings
QAudioEncoderSettings settings;
settings.setCodec("audio/pcm");     // Not sure what to put here
settings.setSampleRate(16000);
settings.setBitRate(32);
settings.setQuality(QMultimedia::HighQuality);
settings.setEncodingMode(QMultimedia::ConstantQualityEncoding);
audioRecorder->setEncodingSettings(settings);
//Set Audio Input
audioRecorder->setAudioInput(audioRecorder->defaultAudioInput());
// Sets Output location where to store the file
QUrl url("hello.wav");
audioRecorder->setOutputLocation(QUrl::fromLocalFile("hello.wav"));
audioRecorder->setContainerFormat("mp3");
audioRecorder->record();
qDebug()<<audioRecorder->state();
}
else
{
qDebug()<<"stopped";
}

但它不会保存任何文件,而是显示消息no service found for - "org.qt-project.qt.audiosource"。 如何保存音频文件?

您应该安装一些Qt多媒体后端 - 检查此列表(适用于您使用的Qt版本(并为您的操作系统选择后端。