瀏覽單個文章
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
一樣很快速的掃瞄一遍,內容並沒有仔細看,如果回答的方向有誤,請見諒。

ASIO 4 ALL 這個驅動程式,它的作用是,讓不支援 ASIO 的音效卡,能夠運行只支援 ASIO 輸出的軟體程式。
有一些專業的音效製作軟體,它們只支援 ASIO 輸出,這個意思就是說,當這些軟體輸出的時候,它會使用 ASIO 的介面(API),來和音效卡的驅動程式溝通,如果音效不支援 ASIO,溝通就會失敗,這個軟體就無法使用。
為了能夠讓這些軟體能在不支援 ASIO 的一音效卡上也能夠運行,所以才設計了 ASIO 4 ALL 這個驅動程式,它的原理是:
軟體呼叫 ASIO Driver -> ASIO 指令傳送給 ASIO 4 ALL 這個虛擬的驅動程式 -> ASIO 4 ALL 將原本的 ASIO 指令轉換成一般 MME/DirectSound 的指令 -> 然後將這些指令傳送給系統上真正存在的音效卡的 MME/DirectSound Driver

也就是說,ASIO 4 ALL 只是作一個指令轉換的工作,最後真正在發聲的,仍然是你系統上原本的 MME/DirectSound Driver。

有人就會有疑問
「那樣不是脫了褲子放屁,很無聊嗎,既然最後還是原本的 WaveOut/SirectSound 在發聲,那何必經過 ASIO 4 ALL 在中間轉接,還要耗費 CPU,直接選 WaveOut/DirectSound 輸出就好了啊?」

問得好,確實是完全沒有必要,ASIO 4 ALL 的設計目的,是為了要讓一些專業的音效軟體,只支援 ASIO 的音效軟體,也能夠在一般的音效卡上面運行,所以才設計的。

所以如果你只是要讓什麼都支援的 foobar2000 播放音樂,而你的音效卡不支援 ASIO,那你需不需要裝 ASIO 4 ALL 來讓你的 foobar2000 能夠使用 ASIO 輸出?還是直接使用 WaveOut/DirectSound/KS 輸出就好?

我相信大家自己思維過後就可以得出答案。
__________________
舊 2005-09-05, 08:45 AM #4
回應時引用此文章
Shade離線中