第四章 Win7API介绍.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VISTA、Server 2008、Win7 等系统音频系统底层API 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.???????

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档