Qt6.8 使用QAudioBufferInput 录制网络PCM语音流成文件
1 相关参数PCM 音频参数: 8K 16位 单声道Qt版本:6.8及以上录制的文件: wave格式2 使用到的Qt类缓存输入类:QAudioBufferInput (QAudioBufferInput 仅支持 FFmpeg 后端。)桥接器:QMediaCaptureSession录制器:QMediaRecorder声音缓存类: QAudioBuffer这些类的详细资料可以在这里查看:https://doc.qt.io/qt-6/zh/qaudiobufferinput.html3 初始化各种类QMediaRecorder *m_audioRecordernullptr; //录音器最终写文件 QAudioBufferInput *audioBufferInput;//语音数据输入缓存 QMediaCaptureSession *m_captureSession; QAudioFormat outputAudioFormat;outputAudioFormat.setSampleRate(8000); //设置采样率以对赫兹采样。 以秒为单位每秒采集多少声音数据的频率. outputAudioFormat.setChannelCount(1); //将通道数设置为通道。 outputAudioFormat.setSampleFormat(QAudioFormat::Int16); RecordStartedfalse; m_captureSessionnew QMediaCaptureSession(); m_audioRecorder new QMediaRecorder(); //创建录音器 m_captureSession-setRecorder(m_audioRecorder); // 桥接录制器 audioBufferInput new QAudioBufferInput();//创建声音输入缓存 m_captureSession-setAudioBufferInput(audioBufferInput); // 桥接音频输入缓存4 开始录音//设置输出文件 m_audioRecorder-setOutputLocation(QUrl::fromLocalFile(QString::fromStdString(recordFilePath))); QMediaFormat format; format.setFileFormat(QMediaFormat::FileFormat::Wave ); format.setAudioCodec(QMediaFormat::AudioCodec::Wave ); m_audioRecorder-setMediaFormat(format); m_audioRecorder-setAudioSampleRate(8000); m_audioRecorder-setAudioChannelCount(1); m_audioRecorder-setAudioBitRate(96000); m_audioRecorder-setQuality(QMediaRecorder::Quality::NormalQuality); m_audioRecorder-setEncodingMode(QMediaRecorder::ConstantBitRateEncoding); m_audioRecorder-record(); //开始录音 qDebug()录音开始;5 写入网络PCM数据QAudioBuffer audioBuffer QAudioBuffer(Chunk,outputAudioFormat); bool ret audioBufferInput-sendAudioBuffer(audioBuffer); //qDebug() ret;6 停止录音qDebug() 停止录音 ; m_audioRecorder-stop();

相关新闻

网络协议:是万物互联的通信规则(数据如何在机器间流动)。

网络协议:是万物互联的通信规则(数据如何在机器间流动)。

如果把计算机比作一座座孤岛,网络协议就是连接这些岛屿的桥梁、航道和交通规则。没有它,再强大的 CPU、再精妙的算法、再庞大的数据库,都只是一堆无法交互的“数据孤岛”。 在 PHP 高并发和分布式架构的语境下,理解网络协议不仅仅…

2026/7/4 1:21:00 阅读更多 →
探索改进的蚁狮优化算法(IALO):更优性能的MATLAB实践

探索改进的蚁狮优化算法(IALO):更优性能的MATLAB实践

一种改进的蚁狮优化算法 改进的ALO算法【matlab代码】 - 在原始ALO算法的基础上添加了两种改进策略 - 改进1:将原先的间断性边界收缩因子变为连续性边界收缩因子,从而增强算法的遍历性 - 改进2:将原先均衡的权重系数变为动态权重系数&#xf…

2026/5/17 3:23:02 阅读更多 →
2026年最新笔记本C盘清理工具哪个好?从效果和安全角度细说

2026年最新笔记本C盘清理工具哪个好?从效果和安全角度细说

C盘又红了,电脑卡得鼠标都挪不动,微信文件打不开,系统更新反复失败。这种时候最怕的就是下错工具,要么清不出多少空间,要么手一抖把系统文件删了直接蓝屏。今天就聊聊市面上几款主流清理工具到底有什么不一样&#xff…

2026/7/5 11:12:06 阅读更多 →

最新新闻

nest_asyncio 性能优化指南:如何避免嵌套事件循环的性能陷阱

nest_asyncio 性能优化指南:如何避免嵌套事件循环的性能陷阱

nest_asyncio 性能优化指南:如何避免嵌套事件循环的性能陷阱 【免费下载链接】nest_asyncio Patch asyncio to allow nested event loops 项目地址: https://gitcode.com/gh_mirrors/ne/nest_asyncio 在Python异步编程的世界中,nest_asyncio是一个…

2026/7/6 19:29:00 阅读更多 →
Hermes Agent完整实战指南:AI代理系统的深度配置与应用

Hermes Agent完整实战指南:AI代理系统的深度配置与应用

Hermes Agent完整实战指南:AI代理系统的深度配置与应用 【免费下载链接】hermes-agent The agent that grows with you 项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent Hermes Agent是一款功能强大的AI代理系统,它能够随着用户需…

2026/7/6 19:26:59 阅读更多 →
ReForum:构建现代化React-Redux论坛应用的终极指南

ReForum:构建现代化React-Redux论坛应用的终极指南

ReForum:构建现代化React-Redux论坛应用的终极指南 【免费下载链接】ReForum A minimal forum board application. Built on top of React-Redux frontend, ExpressJS-NodeJS backend (with PassportJS for OAuth) and MongoDB databse. 项目地址: https://gitcod…

2026/7/6 19:26:59 阅读更多 →
ReForum深度解析:React-Redux与ExpressJS的完美融合架构

ReForum深度解析:React-Redux与ExpressJS的完美融合架构

ReForum深度解析:React-Redux与ExpressJS的完美融合架构 【免费下载链接】ReForum A minimal forum board application. Built on top of React-Redux frontend, ExpressJS-NodeJS backend (with PassportJS for OAuth) and MongoDB databse. 项目地址: https://g…

2026/7/6 19:20:56 阅读更多 →
Discordia迭代器系统:Cache、WeakCache与FilteredIterable深度解析

Discordia迭代器系统:Cache、WeakCache与FilteredIterable深度解析

Discordia迭代器系统:Cache、WeakCache与FilteredIterable深度解析 【免费下载链接】Discordia Discord API library written in Lua for the Luvit runtime environment 项目地址: https://gitcode.com/gh_mirrors/di/Discordia Discordia是基于Luvit运行环…

2026/7/6 19:20:56 阅读更多 →
Django-MongoEngine部署教程:从开发环境到生产服务器的完整流程

Django-MongoEngine部署教程:从开发环境到生产服务器的完整流程

Django-MongoEngine部署教程:从开发环境到生产服务器的完整流程 【免费下载链接】django-mongoengine django mongoengine integration 项目地址: https://gitcode.com/gh_mirrors/dj/django-mongoengine 想要在Django项目中集成MongoDB数据库吗?…

2026/7/6 19:18:54 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻