要实现录音设备录音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();
}

请注意将代码中的"录音文件路径"和"保存路径"替换为实际的路径

qt 一个函数实现录音设备录音5秒并保存本地

原文地址: https://www.cveoy.top/t/topic/ijtt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录