Windows Vista中,對(duì)于任何一個(gè)音頻流都有四種不同的音量控制方式,它們是:
6 z4 N4 a# r- J3 x<P></P>
) _' p D* @* B# H8 w' c4 t<P> 1. 流音量(Stream Volume)</P>
/ l- v" r% b* ^4 b; Q<P> 2. 簡(jiǎn)單音量(Simple Volume)</P>
) x( X; ^. n' n5 {8 y<P> 3. 通道音量(Channel Volume)</P>' e) O6 H: b, M# |1 |1 z/ w
<P> 4. 端點(diǎn)音量(EndPoint Volume)</P>: s) `# T- n# V9 I% p8 k
<P> 由于每種方式是一個(gè)增益級(jí)(gain stage),所以每一種都可以添加到音頻輸入采樣中,并生成最終的音頻輸出流。</P>
& {+ F/ W% L% J) J( [4 ~<P> 圖中的每個(gè)WASAPI實(shí)例表示一個(gè)音頻流,這些流會(huì)在音頻合成器(Mixer)中合并起來(lái)并“流向”音頻驅(qū)動(dòng)。流音量、簡(jiǎn)單音量、通道音量均通過(guò)向某個(gè)獨(dú)立的音頻流中插入一個(gè)APO實(shí)現(xiàn),而端點(diǎn)音量則是在合成器后面添加一個(gè)APO或者用硬件音量控制來(lái)處理,這取決于用戶(hù)的音頻解決方案的功能。</P>, x/ p9 a$ Q" w* H* I5 q- i
<P> 那么這些不同的音頻控制有什么聯(lián)系呢?</P>
* a0 D8 D$ ]5 F& n/ S( P: q% R+ d<P> 首先來(lái)講講<STRONG>流音量。</STRONG>流音量是多通道音量,它對(duì)每個(gè)音頻流起作用,可以讓?xiě)?yīng)用程序?qū)崿F(xiàn)一些相對(duì)簡(jiǎn)單的3D效果(使用多通道流音量控制來(lái)模擬一個(gè)處于活動(dòng)狀態(tài)的球被彈起后的位置改變)。你可以讓?xiě)?yīng)用程序控制某個(gè)獨(dú)立音頻流的音量,但這種需求比較少。</P># Z! w+ S/ C* `2 v2 ~3 H% k5 m j
<P> 接下來(lái)是<STRONG>通道音量。</STRONG>通道音量是針對(duì)音頻會(huì)話(huà)(session)的音量,用于控制整個(gè)會(huì)話(huà)中的所有音頻流的音量(如果你還記得“大圖”貼的話(huà),其中講到過(guò)一個(gè)會(huì)話(huà)包含了許多音頻流)。通道音量之所以存在是因?yàn)橛?waveOutSetVolume API--由于波形音量是多通道(立體聲)音量,所以我們必須在WASAPI中模擬一個(gè)。同樣的,這種音量也很少被使用--通常僅當(dāng)從控制面板運(yùn)行系統(tǒng)安裝任務(wù)(空間修正(room correction))時(shí)才會(huì)改變通道音量,所以這一設(shè)置會(huì)影響所有的應(yīng)用程序而不僅僅針對(duì)某個(gè)特定的應(yīng)用程序)。</P># [- {/ ?* c: p" p; f; d$ \6 F3 J
<P> 再來(lái)則是<STRONG>簡(jiǎn)單音量。</STRONG>簡(jiǎn)單音量是這對(duì)音頻會(huì)話(huà)的音量,用于控制整個(gè)會(huì)話(huà)中的所有音頻流的音量。它是一種統(tǒng)一的音量,會(huì)平均應(yīng)用到所有的通道。這也是我們希望大部分應(yīng)用程序使用的音量控制方式--因?yàn)樗峁┝艘环N簡(jiǎn)單的控制應(yīng)用程序音量和靜音狀態(tài)的方式,這種方式對(duì)于大部分應(yīng)用程序已經(jīng)足夠了。這種音量其實(shí)就是Vista聲音混合器中顯示的每個(gè)應(yīng)用程序的音量滑塊。</P>. P6 X: ~( Z) k- L7 S7 i; G; L5 K
<P> 邏輯上講,你可以把上面三個(gè)音量一起應(yīng)用(但這其實(shí)不是事實(shí),它們其實(shí)是同時(shí)被應(yīng)用的)來(lái)為每個(gè)音頻流創(chuàng)建最終音量。</P>
/ k1 _0 ~ g; x) r<P> 最后我們來(lái)講<STRONG>端點(diǎn)音量。</STRONG>正如我以前提到過(guò)的,端點(diǎn)音量表示主音量(master output)輸出,它是作用于最后合成的音頻流的,可以對(duì)特定的端點(diǎn)起到主音量控制的作用。</P> |