先放結論: ASIO:硬體支援+對應驅動程式 DS:相容性最好,一般也是預設的。 WASAPI:是Vista之後的,較佳選擇輸出方式。 再來詳細看: ASIO、WDM都是指音訊通道,就是音訊資料走的路。 ASIO指的是ASIO音訊通道;WDM是指WDM型別的音訊通道,具體包括WaveOut、DirectSound(簡稱DS)、Kernel Streaming(簡稱KS),Windows Vista和7 還比XP多了WASAPI。 具體體現在各個音訊播放、錄音軟體的設定裡,比如Foobar2000等。 打形象的比喻,音訊資料是車,作業系統的音訊部分是一條路。 WaveOut、DirectSound(簡稱DS)就好比最一般的公用車道,大家可以並行走(程式可以一起發聲),但要受到一些旁車的影響。 Kernel Streaming(簡稱KS),WASAPI好比在這條作業系統音訊之路上劃出一條專用道,只允許一個車走,雖然還走著一條路,但沒有干擾了,程式獨佔。 ASIO就好比我壓根不走作業系統那條路了,我自己專門再修一條新路,自己走自己的,不過作業系統公共音訊部分了。 其實ASIO最有價值的地方在於錄音,它的最大特點在於聲音資料在通道里通行快,延時小(音訊傳輸是需要若干毫秒的時間的,對於精確錄音和聲音混音合成,很是敏感)。 DS就是DirectSound的首字母縮寫,DirectSound是DirectX的一部分,而DirectX則是被很多遊戲玩家所熟知,DirectX是由微軟建立的多媒體程式設計介面,由C++程式語言實現,遵循COM。DirectX是Windows平臺下最通用最成熟的介面,多媒體軟體大多采用了DirectX API。透過DS輸出可為開發者和使用者帶來許多便利,FB2K下使用DS輸出則是可以實現漸響、淡出等功能,還能支援音效卡所帶的音效,所以小編並不是推薦各位網友使用DS輸出來播放無損音樂。 ASIO全稱Audio stream input output,是德國Steinberg公司所提出的,主要目的是為了解決PC音訊方面的輸入輸出的延遲問題,由於系統自帶的音訊輸出方式一般延遲都大於10ms,雖然10ms並不算長,但仍舊是無法滿足專業領域的嚴苛需求的,於是ASIO便針對延遲問題進行了深度設計,使其輸出輸入延遲能夠低於10ms,甚至還能低於1ms,完全能夠滿足專業音樂製作的需求,聆聽音樂選擇該方法輸出,主要目的肯定不是降低延遲了,而是為了能避開系統重取樣、音效以及規格化處理,由於ASIO低延遲設計,所以在輸出過程當中不會引入任何處理,但ASIO缺點也是很明顯的,ASIO是需要驅動層面的支援,並不是所有音效卡都帶有ASIO驅動,雖然有第三方驅動,但效果可能不盡如人意。 WASAPI全稱Windows Audio Session API,是微軟Vista之後所引入的,Vista當中微軟重寫了音訊架構,提出了一套新的通用架構,Universal Audio Architechture(UAA),並增加了全新的WASAPI,WASAPI為程式開發者提供了兩種模式,共享模式(Shared Mode)和獨佔模式(Exclusive Mode),使用獨佔模式時可以和ASIO輸出達到相似的效果,此時音效卡被某一程式獨佔,只有該程式能使用音效卡,其他程式均不能佔用音效卡,而且獨佔模式時,系統不也會干涉音訊流,直接將其交給音效卡驅動進行輸出,音效卡自帶的音效以及系統重取樣均不會起到作用,可輸出純淨的聲音, 【在過去,音效卡廠商例如Creative、Realtek等,為了讓使用者透過自家編寫的控制檯來進行各方面關於音訊裝置的設定,所以編寫驅動程式時,必須在Kernel Mode(核心模式)這個層級撰寫相當多的程式碼來提供呼叫,使得使用者的操作設定能夠直達硬體層。然而這對於系統的穩定度是一個很不好的影響,稍微有一點點意外狀況,會因為這些功能跑在Kernel Mode而導致系統宕機。在 Vista 時代有所改善了。Microsoft要求所有音訊裝置的廠商必須遵循UAA的架構來開發驅動程式,也為了配合UAA架構,Vista可以說是整個翻新了音訊處理流程,許多原本需要寫在Kernel Mode的音效卡功能,需要改寫到User Mode(使用者模式)去,進而增加了系統穩定度。】 KS(Kernel Streaming)輸出是一種比較老舊的輸出方式,主要使用在沒有WASAPI的XP以及之前版本的Windows系統當中,KS最早出現在Windows 98當中,它允許程式設計師能夠為多媒體裝置實時的處理音訊流,效果和ASIO、WASAPI類似,都可以避開系統對音訊的音效處理或是規格化,從Vista開始KS已經逐漸被WASAPI所取代了,目前支援的軟體並不多。
先放結論: ASIO:硬體支援+對應驅動程式 DS:相容性最好,一般也是預設的。 WASAPI:是Vista之後的,較佳選擇輸出方式。 再來詳細看: ASIO、WDM都是指音訊通道,就是音訊資料走的路。 ASIO指的是ASIO音訊通道;WDM是指WDM型別的音訊通道,具體包括WaveOut、DirectSound(簡稱DS)、Kernel Streaming(簡稱KS),Windows Vista和7 還比XP多了WASAPI。 具體體現在各個音訊播放、錄音軟體的設定裡,比如Foobar2000等。 打形象的比喻,音訊資料是車,作業系統的音訊部分是一條路。 WaveOut、DirectSound(簡稱DS)就好比最一般的公用車道,大家可以並行走(程式可以一起發聲),但要受到一些旁車的影響。 Kernel Streaming(簡稱KS),WASAPI好比在這條作業系統音訊之路上劃出一條專用道,只允許一個車走,雖然還走著一條路,但沒有干擾了,程式獨佔。 ASIO就好比我壓根不走作業系統那條路了,我自己專門再修一條新路,自己走自己的,不過作業系統公共音訊部分了。 其實ASIO最有價值的地方在於錄音,它的最大特點在於聲音資料在通道里通行快,延時小(音訊傳輸是需要若干毫秒的時間的,對於精確錄音和聲音混音合成,很是敏感)。 DS就是DirectSound的首字母縮寫,DirectSound是DirectX的一部分,而DirectX則是被很多遊戲玩家所熟知,DirectX是由微軟建立的多媒體程式設計介面,由C++程式語言實現,遵循COM。DirectX是Windows平臺下最通用最成熟的介面,多媒體軟體大多采用了DirectX API。透過DS輸出可為開發者和使用者帶來許多便利,FB2K下使用DS輸出則是可以實現漸響、淡出等功能,還能支援音效卡所帶的音效,所以小編並不是推薦各位網友使用DS輸出來播放無損音樂。 ASIO全稱Audio stream input output,是德國Steinberg公司所提出的,主要目的是為了解決PC音訊方面的輸入輸出的延遲問題,由於系統自帶的音訊輸出方式一般延遲都大於10ms,雖然10ms並不算長,但仍舊是無法滿足專業領域的嚴苛需求的,於是ASIO便針對延遲問題進行了深度設計,使其輸出輸入延遲能夠低於10ms,甚至還能低於1ms,完全能夠滿足專業音樂製作的需求,聆聽音樂選擇該方法輸出,主要目的肯定不是降低延遲了,而是為了能避開系統重取樣、音效以及規格化處理,由於ASIO低延遲設計,所以在輸出過程當中不會引入任何處理,但ASIO缺點也是很明顯的,ASIO是需要驅動層面的支援,並不是所有音效卡都帶有ASIO驅動,雖然有第三方驅動,但效果可能不盡如人意。 WASAPI全稱Windows Audio Session API,是微軟Vista之後所引入的,Vista當中微軟重寫了音訊架構,提出了一套新的通用架構,Universal Audio Architechture(UAA),並增加了全新的WASAPI,WASAPI為程式開發者提供了兩種模式,共享模式(Shared Mode)和獨佔模式(Exclusive Mode),使用獨佔模式時可以和ASIO輸出達到相似的效果,此時音效卡被某一程式獨佔,只有該程式能使用音效卡,其他程式均不能佔用音效卡,而且獨佔模式時,系統不也會干涉音訊流,直接將其交給音效卡驅動進行輸出,音效卡自帶的音效以及系統重取樣均不會起到作用,可輸出純淨的聲音, 【在過去,音效卡廠商例如Creative、Realtek等,為了讓使用者透過自家編寫的控制檯來進行各方面關於音訊裝置的設定,所以編寫驅動程式時,必須在Kernel Mode(核心模式)這個層級撰寫相當多的程式碼來提供呼叫,使得使用者的操作設定能夠直達硬體層。然而這對於系統的穩定度是一個很不好的影響,稍微有一點點意外狀況,會因為這些功能跑在Kernel Mode而導致系統宕機。在 Vista 時代有所改善了。Microsoft要求所有音訊裝置的廠商必須遵循UAA的架構來開發驅動程式,也為了配合UAA架構,Vista可以說是整個翻新了音訊處理流程,許多原本需要寫在Kernel Mode的音效卡功能,需要改寫到User Mode(使用者模式)去,進而增加了系統穩定度。】 KS(Kernel Streaming)輸出是一種比較老舊的輸出方式,主要使用在沒有WASAPI的XP以及之前版本的Windows系統當中,KS最早出現在Windows 98當中,它允許程式設計師能夠為多媒體裝置實時的處理音訊流,效果和ASIO、WASAPI類似,都可以避開系統對音訊的音效處理或是規格化,從Vista開始KS已經逐漸被WASAPI所取代了,目前支援的軟體並不多。