乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VISTA、Win Server 2008、Win7 等系統(tǒng)音頻系統(tǒng)底層API

       牛人的尾巴 2016-12-13
      2012-08-02 11:07 933人閱讀 評(píng)論(0) 收藏 舉報(bào)
      分類:

      VISTA、Win Server 2008、Win7 等系統(tǒng)音頻系統(tǒng)底層API

      Core Audio APIs的優(yōu)勢(shì):

      Windows Vista、Windows 7、Windows server 2008等系統(tǒng)音頻系統(tǒng)相比之前的系統(tǒng)有很大的變化,產(chǎn)生了一套新的底層API即Core Audio APIs。該低層API為高層API( 如Media Foundation(將要取代DirectShow等高層API)等 )提供服務(wù)。相比之前版本的API有如下優(yōu)勢(shì):

      1. 具有低延時(shí)、故障恢復(fù)能力的音頻流。

      2. 提高可靠性 ( 將很多音頻函數(shù)從核心態(tài)移到了用戶態(tài) )

      3. 提高了安全性 (在安全的,低優(yōu)先級(jí)別的線程處理被保護(hù)的音頻內(nèi)容)

      4. 為單獨(dú)的音頻設(shè)備分配了特定的系統(tǒng)級(jí)別的規(guī)則 (console, multimedia, communications) 。

      5. 用戶可以直接操作相應(yīng)音頻終端設(shè)備(Audio Endpoint Devices 如:揚(yáng)聲器、耳機(jī)、麥克風(fēng)、CD播放器)的軟件抽象。

       

      Core Audio APIs在系統(tǒng)中的位置:

              

      Core Audio APIs的組成: 

      1. Multimedia Device (MMDevice) API    該API用于枚舉系統(tǒng)中的音頻終端設(shè)備(Audio Endpoint Devices)。告訴音頻客戶端程序有哪些音頻終端設(shè)備以及它們的性能,并且為這些設(shè)備創(chuàng)建驅(qū)動(dòng)實(shí)例(driver instances)。是最基本的Core Audio API,為其他三個(gè)API提供服務(wù)。

      主要接口:

              IMMDeviceEnumerator 用來(lái)列舉音頻終端設(shè)備。

      IMMDevice                  代表一個(gè)音頻設(shè)備(audio device)。

      IMMEndpoint               代表一個(gè)音頻終端設(shè)備(audio endpoint device),只有一個(gè)方法GetDataFlow,用來(lái)識(shí)別一個(gè)音頻終端設(shè)備是一個(gè)輸出設(shè)備(rendering device)還是一個(gè)輸入設(shè)備(capture device)。

      IMMDeviceCollection           代表一個(gè)音頻終端設(shè)備的集合  

      2. EndpointVolume API      使客戶端程序能夠操作音頻終端設(shè)備。

      主要接口:

      IAudioEndpointVolume 用于控制音頻終端設(shè)備的音量、靜音。 

      3. Windows Audio Session API (WASAPI)      使客戶端程序能夠管理介于程序和音頻終端設(shè)備之間的音頻數(shù)據(jù)。

                                                              如應(yīng)用程序本身的音量。

      主要接口:

      ISimpleAudioVolume           代表控制來(lái)往音頻終端設(shè)備的音頻流的音量。

      4. DeviceTopology API 客戶端程序使用這個(gè)API可直接沿著音頻適配器(audio adapters)的硬件設(shè)備里的數(shù)據(jù)通道進(jìn)入布局特征。是最底層的音頻API,可以通過(guò)適配器設(shè)備(adapter devices)的布局來(lái)查看和管理設(shè)備中的音頻控制。下圖為DeviceTopology API的作用范圍

      音頻適配器設(shè)備(audio adapter device)內(nèi)部是由很多Part組成。主要包括亞單位(Subunit)和連接頭(Connector)。亞單位主要分為:音量控制(Vol)、靜音控制(Mute)、多路器(MUX)等。連接頭(Con)是一個(gè)連接的兩端。

       

      Core Audio APIs的使用:

      <1> 音頻終端設(shè)備(Audio Endpoint Device)音量、靜音控制

      比如控制“聲音”對(duì)話框下“播放”選項(xiàng)卡中的“揚(yáng)聲器”等,“錄制”選項(xiàng)卡中的“麥克風(fēng)”、“立體聲混音”等。

      步驟:

      1.        得到IMMDeviceEnumerator接口。

      2.        遍歷音頻終端設(shè)備得到IMMDeviceCollection接口。

      3.        根據(jù)IMMDeviceCollection得到每個(gè)設(shè)備的IPropertyStore接口,從而分辨并搜索到指定的設(shè)備IMMDevice接口。

      4.        用IMMDevice接口激活音量、靜音控制接口IAudioEndpointVolume。 

       

      <2> 音頻適配器設(shè)備亞單位(Subunit)的音量、靜音控制

               比如控制“聲音”對(duì)話框下“播放”選項(xiàng)卡中的“揚(yáng)聲器”下的“CD 音頻”、“麥克風(fēng)”、“Fornt Pink In”等的控制。

      步驟:

      1.        得到IMMDeviceEnumerator接口。

      2.        遍歷音頻終端設(shè)備得到IMMDeviceCollection接口。

      3.        根據(jù)IMMDeviceCollection得到每個(gè)設(shè)備的IPropertyStore接口,從而分辨并搜索到指定的設(shè)備IMMDevice接口。

      4.        根據(jù)IMMDevice接口和連接器接口IConnector得到音頻終端設(shè)備所對(duì)應(yīng)的設(shè)備適配器(adapter device)的布局接口IDeviceTopology。

      5.        根據(jù)IDeviceTopology接口得到指定的部分(Part)。

      6.        最后用得到的部分(Part)接口IPart激活音量控制接口IAudioVolumeLevel和靜音控制接口IAudioMute。

       

      <3> 會(huì)話(Session)音量、靜音控制

               比如“音量合成器”中應(yīng)用程序的音量。

      步驟:

      1.        得到IMMDeviceEnumerator接口。

      2.        根據(jù)IMMDeviceEnumerator得到默認(rèn)設(shè)備的IMMDevice接口。

      3.        得到音頻會(huì)話接口IAudioSessionManager。

      4.        由IAudioSessionManager接口得到IAudioSessionControl接口,該接口用來(lái)設(shè)置會(huì)話(Session)參數(shù)。

      5.        設(shè)置好了參數(shù)之后,在由IAudioSessionManager接口得到音頻會(huì)話的音量、靜音控制接口ISimpleAudioVolume,從而可以控制程序的音量、靜音。

       

       

      轉(zhuǎn)自:http://kanglovepei.spaces./blog/cns!861E0583566CFC59!266.entry

      0

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多