當前位置:編程學習大全網 - 編程語言 - Ks2000編程軟件

Ks2000編程軟件

ASIO:硬件支持+相應驅動

DS:兼容性最好,壹般默認。

WASAPI:Vista之後,最好選擇輸出模式。

我們來詳細看看:

ASIO和WDM都指音頻通道,即音頻數據所經過的路徑。

ASIO指的是ASIO音頻頻道;WDM指的是WDM音頻通道,包括WaveOut、DirectSound (DS)和Kernel Streaming (KS)。Windows Vista和7的WASAPI比XP多。

體現在各種音頻回放和錄音軟件的設置中,比如Foobar2000。

形象地說,音頻數據是壹輛車,操作系統的音頻部分是壹條路。

WaveOut和DirectSound(簡稱DS)就像最常見的公共車道壹樣。大家可以並排走(節目可以壹起發聲),但是受到壹些側車的影響。

內核流(簡稱KS),WASAPI就像是在這個操作系統的音頻路徑上劃了壹條專用車道,只允許壹輛車走。雖然還有路,但是沒有幹擾,節目獨家。

ASIO就像我根本不走操作系統這條路。我要另辟蹊徑,走自己的路,但是操作系統有公共音頻部分。

其實ASIO最有價值的地方在於錄音,最大的特點在於聲音數據在信道中的傳遞速度快,延遲小(音頻傳輸需要幾毫秒,對精確錄音和混音合成非常敏感)。

DS是DirectSound的首字母縮寫,是DirectX的壹部分,DirectX被很多遊戲玩家所熟知。DirectX是微軟創建的多媒體編程接口,用C++編程語言實現,遵循COM。DirectX是Windows平臺下最常見、最成熟的接口,DirectX API多用於多媒體軟件。通過DS輸出,可以給開發者和用戶帶來很多便利。在FB2K下使用DS輸出可以實現淡入淡出的功能,還可以支持聲卡帶來的音效。因此,邊肖不建議用戶使用DS輸出來播放無損音樂。

ASIO的全稱是音頻流輸入輸出,是由德國Steinberg公司提出的。其主要目的是解決PC音頻中的輸入輸出延遲問題。由於系統的音頻輸出模式普遍延遲超過10ms,雖然10ms並不長,但仍然無法滿足專業領域的嚴格需求。因此,ASIO針對延遲問題做了深度設計,使其輸出和輸入延遲可以低於10ms,甚至低於1ms,完全可以滿足專業音樂制作的需求。選擇這種方式聽歌的主要目的肯定不是為了減少延遲,而是為了避免系統重采樣、音效和歸壹化處理。由於ASIO的低延遲設計,因此,在輸出過程中不會引入任何處理,但ASIO的缺點也很明顯。ASIO需要車手層面的支持。並非所有的聲卡都有ASIO驅動程序。雖然有第三方驅動,但效果未必盡如人意。

WASAPI的全稱是Windows Audio Session API,是在微軟Vista之後推出的。在Vista中,微軟重寫了音頻架構,提出了新的通用架構Universal Audio architecture(UAA),並加入了全新的WASAPI,為程序開發者提供了兩種模式。* * *共享模式和獨占模式,當使用獨占模式時,可以達到與ASIO輸出類似的效果。此時聲卡被某個程序獨占,只有這個程序可以使用聲卡,其他程序不能占用聲卡。而且在獨占模式下,系統不會幹擾音頻流,直接交給聲卡驅動輸出,聲卡自帶的音效和系統重采樣也不會發揮作用,可以輸出純凈的聲音。

以前的聲卡廠商,比如Creative,Realtek等。,為了讓用戶可以通過自己的控制臺設置音頻設備的各個方面,在編寫驅動的時候,不得不在內核模式層面寫了相當多的代碼來提供調用,讓用戶的操作設置可以直接到硬件層。但是,這對系統的穩定性有很壞的影響。壹點意外情況都會導致系統崩潰,因為這些函數都是以內核模式運行的。它在Vista時代得到了改進。微軟要求所有音頻設備制造商遵循UAA架構來開發驅動程序。為了配合UAA架構,Vista可以說是徹底翻新了音頻處理流程,很多原本需要在內核態編寫的聲卡功能都需要重寫到用戶態,增加了系統的穩定性。

KS(內核流)輸出是壹種比較老的輸出模式,主要用在沒有WASAPI的XP和之前版本的Windows系統中。KS最早出現在Windows 98中,它允許程序員實時處理多媒體設備的音頻流。效果類似於ASIO和WASAPI,它們可以避免音效處理或音頻的正常化。KS從Vista開始逐漸被WASAPI取代,目前支持的軟件並不多。

  • 上一篇:怎麽學習C語言
  • 下一篇:c語言高手進來下!
  • copyright 2024編程學習大全網