Windows平台音频采集技术介绍
音频处理的相关技术:
- 采集麦克风输入
- 采集声卡输出
- 将音频数据送入声卡进行播放
- 对多路音频输入进行混音处理
在Windows操作系统上,音频处理技术主要是采用微软提供的相关API:Wave系列API函数、DirectSound、Core Audio。
我们简单的对以上接口从对操作系统版本的支持,是否支持声卡录音等方面加以说明
WaveIn系列API函数
是在32位的Windows上的一种老旧且过时,用来播放数字音讯的应用程序接 口,功能有所局限 ,它无法支持「混和多重音讯流」的功能。主要是用来实现对麦克风输入的采集(使用WaveIn系列API函数)和控制声音的播放(使用后WaveOut系列函数)。
支持XP及之后的Windows系统,支持麦克风输入的采集和控制声音的播放,不支持声卡的采集。
DirectSound
可实现多个声音的混合播放。DirectSound可充分使用声卡的内存资源,同时也提供了3D声效算法,模拟出真实的3D立体声。基于directx框架,directx 10之就没有了对directsound的支持,已经将directsound封装到directshow里面去了
支持XP及之后的Windows系统,支持麦克风,声卡的采集, 控制声音播放。
参考博文: 利用DirectSound实现声卡录音
Core Audio
Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )提供服务。相比之前版本的API有如下优势:
1. 具有低延时、故障恢复能力的音频流。
2. 提高可靠性 ( 将很多音频函数从核心态移到了用户态 )
3. 提高了安全性 (在安全的,低优先级别的线程处理被保护的音频内容)
4. 为单独的音频设备分配了特定的系统级别的规则 (console, multimedia, communications) 。
5. 用户可以直接操作相应音频终端设备(Audio Endpoint Devices 如:扬声器、耳机、麦克风、CD播放器)的软件抽象。
Core Audio APIs的组成:
1. Multimedia Device (MMDevice) API 该API用于枚举系统中的音频终端设备(Audio Endpoint Devices)。告诉音频客户端程序有哪些音频终端设备以及它们的性能,并且为这些设备创建驱动实例(driver instances)。是最基本的Core Audio API,为其他三个API提供服务。
2. EndpointVolume API 使客户端程序能够操作音频终端设备。
3. Windows Audio Session API (WASAPI) 使客户端程序能够管理介于程序和音频终端设备之间的音频数据。
4. DeviceTopology API 客户端程序使用这个API可直接沿着音频适配器(audio adapters)的硬件设备里的数据通道进入布局特征。是最底层的音频API,可以通过适配器设备(adapter devices)的布局来查看和管理设备中的音频控制。下图为DeviceTopology API的作用范围
参考博文: 使用Core Audio实现对声卡输出的捕捉
支持Vista及之后的Windows系统,支持麦克风,声卡输出的采集, 控制声音播放。
Windows平台音频采集技术介绍相关推荐
- Windows上的音频采集技术比对
[转]Windows上的音频采集技术 转自http://blog.csdn.net/wxl1986622/article/details/44230149 前一段时间接到一个任务,需要采集到声卡的输出 ...
- Windows上的音频采集技术
在制作发布端的时候,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音,对于音频处理的技术,主要有如下几种: 采集麦克风输入 采集声卡输出 将音频数据送入声卡进行播放 对多路音频输入进行混音处理 ...
- 【VS开发】Windows上的音频采集技术
前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音. 之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术. 对于音频处 ...
- windows平台视频渲染技术小结
一.概述 在Windows平台下的视频播放技术主要有以下三种:GDI,Direct3D和OpenGL:也经常看到DirectDraw这个技术,根据维基介绍,DirectDraw是微软弃用的一个API, ...
- Windows 麦克风音频采集 PCM、G711a格式
一.简介 PCM(脉冲编码调制),它是对连续变化的模拟信号进行抽样.量化和编码产生的,称为PCM(Pulse-code modulation),即脉冲编码调制.这种电的数字信号称为数字基带信号,由PC ...
- windows平台桌面开发技术
MFC 传统的windows平台win32应用开发技术 最大的缺点:设计和代码不能分离,不符合现在的主流开发技术 DirectUI 目前windows平台主流的开发技术. 开源类库duilib. WP ...
- Windows客户端开发--WMI技术介绍
时光荏苒,六道轮回. 2004年,初中,欧锦赛,希腊神话,17岁的C罗哭成了泪人! 2016年,工作,欧洲杯,能否再让C罗哭成泪人? 想要获得计算机硬件的详细信息,我们可以使用WMI. 今天就作为开篇 ...
- Windows平台摄像头或屏幕RTMP推送:OBS VS SmartPublisher
好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher? 的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OB ...
- Windows平台摄像头或屏幕RTMP推送:OBS还是SmartPublisher
好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher? 的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OB ...
最新文章
- nginx 配置的server_name参数(转)
- ubuntu16.04 下安装配置python3.6
- Ability的基本概念(1)
- apache camel_Apache Camel请向我解释这些端点选项的含义
- (36)FPGA打N拍设计(第8天)
- 6. 成交量基础分析
- 以太坊概念知识入门篇
- Jquery EasyUi日期输入框(点击今天不自动填充)
- 闪聚支付前端部署指南
- spoon mysql_spoon(kettle)基本配置(连接Mysql和Oracle)
- numpy_abs和fabs
- 16.[STM32]从原理开始带你了解DS18B20温度传感器-四位数码管显示温度
- IOC之bean之间的关系讲解
- 用C#实现竖列转盘游戏
- 海尔互联网转型成功了吗?
- 五个私藏已久的神奇网站,你想要的全都有
- 等到中心化的平台不再,衍生于这个平台的一切都将化作泡影
- 最小二乘曲线拟合原理,平面曲线与空间曲线,并附python实现demo
- 1234变4321[字符串反转]
- 记录Android开发过程中遇到的疑难问题
热门文章
- Python股票量化学习(2)——股票历史日线数据下载
- 2021年11月数据库排行解读:openGauss跃居第三,人大金仓晋身前十
- cornerRadius (_:antialiased:) (SwiftUI 中文文档手册)
- jQuery放大镜 实现图片的放大
- 龙芯推出兼容IE的龙芯浏览器解决方案,全面支持ActiveX插件等应用类型
- EDI确认的4种类型
- wsl2 ubuntu无法连接网络,ping不通外网
- 在 vue项目使用base64加密
- Hyperledger Burrow EVM
- 【前端】psd到html切图,包含ps切图