Win7API介绍.doc_第1页
Win7API介绍.doc_第2页
Win7API介绍.doc_第3页
Win7API介绍.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VISTA、Server 2008、Win7 等系统音频系统底层APICore 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的使用: 音频终端设备(Audio Endpoint Device)音量、静音控制比如控制“声音”对话框下“播放”选项卡中的“扬声器”等,“录制”选项卡中的“麦克风”、“立体声混音”等。步骤:1. 得到IMMDeviceEnumerator接口。2. 遍历音频终端设备得到IMMDeviceCollection接口。3. 根据IMMDeviceCollection得到每个设备的IPropertyStore接口,从而分辨并搜索到指定的设备IMMDevice接口。4. 用IMMDevice接口激活音量、静音控制接口IAudioEndpointVolume。 音频适配器设备亚单位(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。 会话(Session)音量、静音控制 比如“音量合成器”中应用程序的音量。步骤:1. 得到IMMDeviceEnumerator接口。2. 根据IMMDeviceEnumerator得到默认设备的IMMDevice接口。3. 得到音频会话接口IAudioSessionManager。4. 由IAudioSessionManager接口得到IAudioSessi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论