Core Audio APIs
的优势:
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
在系统中的位置:
Core Audio APIs
的组成:
1. Multimedia Device (MMDevice) API
该
API
用于枚举系统中的音频终端设备
(Audio Endpoint Devices)
。告诉音频客户端程序有哪些音频终端设备以及它们的性能,并且为这些设备创建驱动实例
(driver instances)
。是最基本的
Core Audio API
,为其他三个
API
提供服务。
主要接口:
IMMDeviceEnumerator
用来列举音频终端设备。
IMMDevice
代表一个音频设备
(audio device)
。
IMMEndpoint
代表一个音频终端设备
(audio endpoint device)
,只有一个方法
GetDataFlow
,用来识别一个音频终端设备是一个输出设备
(rendering device)
还是一个输入设备
(capture device)
。
IMMDeviceCollection
代表一个音频终端设备的集合
2. EndpointVolume API
使客户端程序能够操作音频终端设备。
主要接口:
IAudioEndpointVolume
用于控制音频终端设备的音量、静音。
3. Windows Audio Session API (WASAPI)
使客户端程序能够管理介于程序和音频终端设备之间的音频数据。
如应用程序本身的音量。
主要接口:
ISimpleAudioVolume
代表控制来往音频终端设备的音频流的音量。
4. DeviceTopology API
客户端程序使用这个
API
可直接沿着音频适配器
(audio adapters)
的硬件设备里的数据通道进入布局特征。是最底层的音频
API
,可以通过适配器设备
(adapter devices)
的布局来查看和管理设备中的音频控制。下图为
DeviceTopology API
的作用范围
音频适配器设备
(audio adapter device)
内部
是由很多
Part
组成。主要包括
亚单位
(
Subunit
)
和连接头
(
Connector
)
。亚单位主要分为:音量控制
(Vol)
、静音控制
(Mute)
、多路器
(MUX)
等。连接头
(Con)
是一个连接的两端。
Core Audio APIs
的使用:
<1>
音频终端设备
(Audio Endpoint Device)
音量、静音控制
比如控制“声音”对话框下“播放”选项卡中的“扬声器”等,“录制”选项卡中的“麦克风”、“立体声混音”等
步骤:
1.
得到
IMMDeviceEnumerator
接口。
2.
遍历音频终端设备得到
IMMDeviceCollection
接口。
3.
根据
IMMDeviceCollection
得到每个设备的IPropertyStore
接口,从而分辨并搜索到指定的设备IMMDevice
接口。
4.
用IMMDevice
接口激活音量、静音控制接口IAudioEndpointVolume
。
<2>
音频适配器设备亚单位
(Subunit)
的音量、静音控制
比如控制“声音”对话框下“播放”选项卡中的“扬声器”下的“
CD
音频”、“麦克风”、“
Fornt Pink In
”等的控制。
步骤:
1.
得到
IMMDeviceEnumerator
接口。
2.
遍历音频终端设备得到
IMMDeviceCollection
接口。
3.
根据
IMMDeviceCollection
得到每个设备的IPropertyStore
接口,从而分辨并搜索到指定的设备IMMDevice
接口。
4.
根据IMMDevice
接口和连接器接口IConnector
得到音频终端设备所对应的设备适配器(adapter device)
的布局接口IDeviceTopology
。
5.
根据IDeviceTopology
接口得到指定的部分(Part)
。
6.
最后用得到的部分(Part)
接口IPart
激活音量控制接口IAudioVolumeLevel
和静音控制接口IAudioMute
。
<3>
会话
(Session)
音量、静音控制
比如“音量合成器”中应用程序的音量。
步骤:
1.
得到
IMMDeviceEnumerator
接口。
2.
根据
IMMDeviceEnumerator
得到默认设备的IMMDevice
接口。
3.
得到音频会话接口
IAudioSessionManager
。
4.
由
IAudioSessionManager
接口得到
IAudioSessionControl
接口,该接口用来设置会话
(Session)
参数。
5.
设置好了参数之后,在由IAudioSessionManager
接口得到音频会话的音量、静音控制接口ISimpleAudioVolume
,从而可以控制程序的音量、静音。
转自:
http://blog.csdn.net/zhaozy694992769/article/details/6079273
分享到:
相关推荐
Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该低层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )...
Windows Vista、Windows 7、Windows server 2008等系统音频系统相比之前的系统有很大的变化,产生了一套新的底层API即Core Audio APIs。该底层API为高层API( 如Media Foundation(将要取代DirectShow等高层API)等 )...
Windows 7 SP1/Server 2008 R2 SP1 版本实测,其他版本未做实测 自从微软宣布放弃了对 ...UpdatePack7R2 旨在将更新集成到 Windows 7 SP1 x86-x64 和 Server 2008 R2 SP1 x64 的发行版中,以及它们在工作系统上的安装
网络操作系统(Windows Server 2008)课件共13单元项目9配置Web与FTP服务器.pdf网络操作系统(Windows Server 2008)课件共13单元项目9配置Web与FTP服务器.pdf网络操作系统(Windows Server 2008)课件共13单元项目9配置...
windows server 2008系统管理之道完全版 win 2008 系统管理之道 完全版 分卷4 共计13个分卷
《网络操作系统Windows Server 2016系统管理》教学课件04系统磁盘管理.pdf《网络操作系统Windows Server 2016系统管理》教学课件04系统磁盘管理.pdf《网络操作系统Windows Server 2016系统管理》教学课件04系统磁盘...
支持本地安装windows server 2008 r2 服务器系统有线网卡驱动
以网络管理和网络服务为中线,详细介绍网络管理员在日常工作中,对Windows Server 2008操作系统的配置和应用等知识,以帮助解决可能面临的各种问题及给出合理的解决方案。《Windows Server 2008服务器架设与网络配置...
windows 2008 server 利用NTFS实现文件系统的安全
windows server 2008视频下载
《网络操作系统Windows Server 2016系统管理》教学课件13系统备份与恢复.pdf《网络操作系统Windows Server 2016系统管理》教学课件13系统备份与恢复.pdf《网络操作系统Windows Server 2016系统管理》教学课件13系统...
清除WIN7与windows server2008系统用户密码(压缩包里含WORD使用教程及视频教程) 视频里讲的是PasswordChanger启动光盘的使用方法,只有启动部分不一样,后边使用都是一样,一样,一样的 解压后包含四个文件:BOOT...
《网络操作系统Windows Server 2016系统管理》教学课件02本地用户和组的管理.pdf《网络操作系统Windows Server 2016系统管理》教学课件02本地用户和组的管理.pdf《网络操作系统Windows Server 2016系统管理》教学...
Windows Server 2008网络操作系统教程-参考答案.rar
windowsserver2008网络操作系统期末复习题一(含答案).pdf
windows server 2008 r2 有线网卡驱动
windows server 2008系统管理之道完全版 win 2008 系统管理之道 完全版 分卷7 共计13个分卷
Windows Server 2008系统管理之道 扫描完整版 Windows Server 2008系统管理之道 扫描完整版 Windows Server 2008系统管理之道 扫描完整版
Windows Server 2008 是专为强化下一代网络、应用程序和 Web 服务的功能而设计,是有史以来最先进的 Windows Server 操作系统。...系统和硬件设备要求安装方式安装前的注意事项安装WindowsServer2008排除故障
windows server 2008 sp2升级补丁 完整版