qt 一个函数实现录音设备录音5秒并保存本地
要实现录音设备录音5秒并保存到本地,可以使用Qt中的QAudioRecorder类和QUrl类。
首先,创建一个QAudioRecorder对象并设置录音格式和输出位置:
QAudioRecorder recorder;
recorder.setAudioInput("default"); // 设置音频输入设备
recorder.setAudioSettings(QAudioEncoderSettings(), QAudio::AudioQuality::HighQuality); // 设置录音格式
recorder.setOutputLocation(QUrl::fromLocalFile("录音文件路径")); // 设置输出位置
然后,开始录音并等待5秒钟:
recorder.record();
QThread::sleep(5); // 等待5秒钟
recorder.stop();
最后,保存录音文件到本地:
QString outputLocation = recorder.outputLocation().toLocalFile();
QFile::copy(outputLocation, "保存路径");
完整的示例代码如下:
#include <QCoreApplication>
#include <QAudioRecorder>
#include <QUrl>
#include <QFile>
#include <QThread>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QAudioRecorder recorder;
recorder.setAudioInput("default");
recorder.setAudioSettings(QAudioEncoderSettings(), QAudio::AudioQuality::HighQuality);
recorder.setOutputLocation(QUrl::fromLocalFile("录音文件路径"));
recorder.record();
QThread::sleep(5);
recorder.stop();
QString outputLocation = recorder.outputLocation().toLocalFile();
QFile::copy(outputLocation, "保存路径");
return a.exec();
}
请注意将代码中的"录音文件路径"和"保存路径"替换为实际的路径
原文地址: https://www.cveoy.top/t/topic/ijtt 著作权归作者所有。请勿转载和采集!