如何在QT C++中录制和保存音频?
问题描述:
我正在尝试使用Qt
c++
来录制和保存音频文件,这里是我为此目的的代码。如何在QT C++中录制和保存音频?
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"
。 如何保存音频文件?
感谢@trivelt,您提供的源代码非常难以开始。你能建议任何初学者级别的资源吗? –
嗯,你使用哪种操作系统和Qt版本? – trivelt
我使用的是Ubuntu 16.04,QT版本是5.7。 @trivelt –