[翻譯] Vista中的音量II: Windows Vista音量種類

來源:互聯網
上載者:User
原文:http://blogs.msdn.com/larryosterman/archive/2007/04/04/volume-in-windows-vista-part-2-types-of-volume-in-windows-vista.aspx
作者:Larry Osterm
翻譯:Tony Qu

昨天,我對音量控製作了一個總體介紹,今天我講詳細講解一下。

在Vista中,對於任何一個音頻流都有四種不同的音量控制方式,它們是:
1. 流音量(Stream Volume)
2. 簡單音量(Simple Volume)
3. 通道音量(Channel Volume)
4. 端點音量(EndPoint Volume)

由於每種方式是一個增益級(gain stage),所以每一種都可以添加到音頻輸入採樣中,並產生最終的音訊輸出流。

我打算從去年的“Vista中的音頻——大圖”中拿一幅圖過來(譯者註:由於圖片太大,僅提供下載,不插入在本文中)

圖中的每個WASAPI執行個體表示一個音頻流,這些流會在音頻合成器(Mixer)中合并起來並“流向”音頻驅動。流音量、簡單音量、通道音量均通過向某個獨立的音頻流中插入一個APO實現,而端點音量則是在合成器後面添加一個APO或者用硬體音量控制來處理,這取決於使用者的音頻解決方案的功能。

那麼這些不同的音頻控制有什麼聯絡呢?

首先來講講流音量。流音量是多通道音量,它對每個音頻流起作用,可以讓應用程式實現一些相對簡單的3d效果(使用多通道流音量控制來類比一個處於活動狀態的球被彈起後的位置改變)。你可以讓應用程式控制某個獨立音頻流的音量,但這種需求比較少。

接下來是通道音量。通道音量是針對音頻會話(session)的音量 ,用於控制整個會話中的所有音頻流的音量(如果你還記得“大圖”貼的話,其中講到過一個會話包含了許多音頻流)。通道音量之所以存在是因為有waveOutSetVolume API——由于波形音量是多通道(立體聲)音量,所以我們必須在WASAPI中類比一個。同樣的,這種音量也很少被使用——通常僅當從控制台運行系統安裝任務(空間修正(room correction))時才會改變通道音量,所以這一設定會影響所有的應用程式而不僅僅針對某個特定的應用程式)。

再來則是簡單音量。簡單音量是這對音頻會話的音量,用於控制整個會話中的所有音頻流的音量。它是一種統一的音量,會平均應用到所有的通道。這也是我們希望大部分應用程式使用的音量控制方式——因為它提供了一種簡單的控制應用程式音量和靜音狀態的方式,這種方式對於大部分應用程式已經足夠了。這種音量其實就是Vista聲音混合器中顯示的每個應用程式的音量滑塊。

邏輯上講,你可以把上面三個音量一起應用(但這其實不是事實,它們其實是同時被應用的)來為每個音頻流建立最終音量。

最後我們來講端點音量。正如我以前提到過得,端點音量表示主音量(master output)輸出,它是作用於最後合成的音頻流的,可以對特定的端點起到主音量控制的作用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.