跳至內容

DirectSound

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

DirectSound是微軟所開發 DirectX 的組件之一,會當佇 Windows 操作系統上錄音,並且記錄波形的音效(waveform sound)。 目前 DirectSound 是一个成熟的 API,提供真濟有路用的功能,親像會當佇較懸的解析度放真濟聲道聲音。

DirectSound 三 D(DS 三 D)上早是一九九三年佮 DirectX 三做伙發表的。DirectX 八以後的 DirectSound 和 DirectSound 三 D 的(DS 三 D)予人合稱 DirectX Audio。

Windows 後續發展

Windows Vista 了後

自 Windows Vista 開始,微軟共往過的規套音訊架構重寫,提出一套新的通用音訊架構 Universal Audio Architechture(UAA), 按呢改動規定所有音效卡廠商著愛佮對 UAA 架構來編寫其驅動程式。因為歷史的因素,音效卡廠商往陣會佇咧編寫其驅動程式的時陣,共部份功能:比如講 DSP 特效編寫並執行佇核心模式之上(Kernel Mode), 但是對著 Windows 來講,假若音效驅動程式發生故障,會直接引致規个 Windows 故障亦降低其穩定性。有見赴此,佇咧 UAA 開始了後,各音效卡廠商必須共原有寫佇核心模式的功能轉移佮編寫寫佇使用者模式(User-Mode)之上。配合 UAA 架構,軟軟仔佇咧 Windows Vista 開始重寫其音效框殼,而且增加一套全新的音訊 API,Windows Audio Session API(WASAPI)予軟體開發者。

此 API 完全改寫以往舊版 Windows 時陣處理音訊資料的流程,所有的音訊流著愛經過此 API 才會當控制抑是輸出其音訊資料流,WASAPI 提供兩種模式予開發者,分別為:共享模式佮獨佔模式,其中獨佔模式效果相倚 ASIO,做應用程式使用獨佔模式的時陣,隨已經獨占的音訊程式外,其他程式音訊流均會去予人截斷,系統也只允准獨佔模式中的音效程式放送音效,若有關音效嘛袂經過重新採樣抑是 DSP 效果等便會當直達音效卡輸出,按呢會當確保原始有音效的資料傳送的時陣袂受著干擾,而且一定程度保證了其的完整性,而且 WASAPI 凡勢每一个程式攏會當設定其獨立的音量大細,袂閣單一固定的系統音效控制音量大細。

但不幸就是講,往陣遊戲往陣音訊程式捷用的音效硬體加速 API,DirectSound,Direct Sound 三 D,Direct Sound EAX 效果會使致 Kernel Stream 等嘛袂使閣直接使用音效卡進行硬體加速,如程式來使用以上 API,將透過 WASAPI 改用 CPU 進行軟體類比方式處理相關的音訊資料。正因此,微軟建議各音效卡以致程式開發商改用其他的音訊 API 通好做硬體加速方案,比如講:OpenAL / OpenSL 這是 API 為程式重新提供硬體音訊加速功能。

Windows 八

Windows 八開始,微軟閣再為 WASAPI 重新加入硬體加速功能,這號做 WASAPI 硬體音訊解除安裝(Hardware Offload)允許音訊會當對 CPU 改用音效卡作處理,但是功能局限定 ModernUI 程式使用,傳統應用程式是袂當使用這硬體加速功能

XAudio 二

軟軟為著佮 Xbox 三百六十整合,積極開發矣 Xbox audio APIs 像講 XAudio 和 the Cross-platform Audio Creation Tool(XACT)。 XAudio 二會當迒平台(Windows 佮 Xbox), 意圖取代 DirectSound。

WinCE

DirectSound 佇咧 Windows CE 四配二上有支援,五曉空的時陣予人徙掉。Windows CE 六鼻空嘛無支援 DirectSound,應用程式予人重寫做 Waveform Audio API。

注釋

外部連結

  • Microsoft's DirectSound documentation
  • What's the deal with 三 D sound under DirectX
  • Audio in Windows Vista
  • Creative ALchemy