Qt录音3秒并保存到本地文件 - 完整教程和代码示例
"使用Qt录音3秒并保存到本地文件"\n\n你可以使用QAudioRecorder类来实现在Qt中录音并保存到本地文件。\n\n首先,在你的Qt项目中包含以下头文件:\ncpp\n#include \"QAudioRecorder\"\n#include \"QUrl\"\n\n\n然后,在你的代码中创建一个QAudioRecorder对象,并设置输出文件的名称和格式:\ncpp\nQAudioRecorder recorder;\nrecorder.setOutputLocation(QUrl::fromLocalFile(\"录音文件路径/录音文件名.wav\"));\n\n\n接下来,设置录音的音频编码和质量:\ncpp\nQAudioEncoderSettings audioSettings;\naudioSettings.setCodec(\"audio/wav\");\naudioSettings.setQuality(QMultimedia::HighQuality);\nrecorder.setAudioSettings(audioSettings);\n\n\n然后,开始录音,并设置录音的持续时间:\ncpp\nrecorder.record();\nQTimer::singleShot(3000, [&recorder]() {\n recorder.stop();\n});\n\n\n最后,你可以在录音结束后进行一些处理,比如显示一个消息框:\ncpp\nconnect(&recorder, &QAudioRecorder::stateChanged, [&](QAudioRecorder::State newState) {\n if (newState == QAudioRecorder::StoppedState) {\n QMessageBox::information(nullptr, \"录音结束\", \"录音已保存到文件\");\n }\n});\n\n\n完整的示例代码如下:\ncpp\n#include \"QApplication\"\n#include \"QAudioRecorder\"\n#include \"QUrl\"\n#include \"QTimer\"\n#include \"QMessageBox\"\n\nint main(int argc, char *argv[]) {\n QApplication a(argc, argv);\n\n QAudioRecorder recorder;\n recorder.setOutputLocation(QUrl::fromLocalFile(\"录音文件路径/录音文件名.wav\"));\n\n QAudioEncoderSettings audioSettings;\naudioSettings.setCodec(\"audio/wav\");\naudioSettings.setQuality(QMultimedia::HighQuality);\n recorder.setAudioSettings(audioSettings);\n\n recorder.record();\n QTimer::singleShot(3000, [&recorder]() {\n recorder.stop();\n });\n\n QObject::connect(&recorder, &QAudioRecorder::stateChanged, [&](QAudioRecorder::State newState) {\n if (newState == QAudioRecorder::StoppedState) {\n QMessageBox::information(nullptr, \"录音结束\", \"录音已保存到文件\");\n }\n });\n\n return a.exec();\n}\n\n\n将"录音文件路径/录音文件名.wav"替换为你想要保存录音的本地文件路径和文件名。然后,编译并运行这个代码,它将在录音结束后保存录音文件到指定的路径。\n
原文地址: https://www.cveoy.top/t/topic/p6Jc 著作权归作者所有。请勿转载和采集!