共用方式為


Windows 7 中核心音訊 API 的新功能

核心音訊 API 是在 Windows Vista 中引進的,它提供了一組新的使用者模式音訊元件,用戶端應用程式可用來轉譯或擷取具有改良音訊功能的音訊串流。 如需此 API 集合的一般概觀,請參閱 關於 Windows Core 音訊 API

Windows 7 中已改善核心音訊 API。 下表摘要說明核心音訊 API 的新功能和改善:

特徵 描述
一般改善 Windows 7 中已改善下列功能:
  • 在 Windows 7 中,共用模式的數據流以 低延遲模式運行。 音訊引擎會以提取模式執行,延遲會大幅降低。 這非常適用於需要低音訊串流延遲的通訊應用程式,以加快串流速度。
  • 當新的裝置新增至系統時,Windows 7 提供更佳的裝置角色偵測。 如需進一步的資訊,請參閱 《使用裝置角色》
  • 在 Windows 7 中,您可以透過電腦喇叭聆聽可攜式媒體播放機的音樂。 您可以使用類比音訊纜線,將可攜式媒體播放機插入您的電腦來使用此擷取監控器功能。 過去,某些 OEM 已使用硬體回送,在音訊驅動程式中提供這項功能。 在 Windows 7 中,此功能已新增至作系統。 因為這是在系統中,而不是驅動程式,因此您可以將此專案用於連接到系統的任何其他裝置,例如USB頭戴式裝置。
  • Windows 7 已增強 HDMI 音訊,可支援高比特率格式。 透過這項改進,您可以透過 HDMI 連接器支援多重通道音訊和壓縮的音訊格式至音訊接收器。
  • 在 Windows Vista 中,Windows Media Player 只會透過使用者無法變更的預設音訊裝置播放音樂。 若要讓 Windows Media Player 將音訊轉譯至特定裝置,必須在 [音效] 控制面板中變更預設裝置。 在 Windows 7 中,Windows Media Player 提供 API,讓應用程式能夠轉譯給使用者所選取的任何裝置,而不只是預設裝置。
  • 在 Windows Vista 中,如果播放音訊的電腦切換到電源儲存模式,計算機就會鎖定,而且如果使用者想要中斷播放,用戶必須登入並按下停止鍵來停止播放。 在 Windows 7 中,如果電腦已鎖定,您仍然可以使用鍵盤上的 HID 控制播放。
  • Windows 7 可減少任何使用 DirectSound 和 DirectShow 轉譯媒體的應用程式耗電量。 此外,多媒體類別排程器服務可啟用抗故障音訊,並在產生音訊樣本時減少能耗。
通訊裝置 (新增) 在此版本中,新的裝置類型已新增至 音效 控制面板:Communications 裝置。 此裝置主要用於通訊,也就是在計算機上撥打或接聽電話。 通訊應用程式可以使用核心音訊元件來取得預設通訊裝置端點的參考,並轉譯用於通訊的音訊串流。 作系統會將在通訊裝置上開啟的數據流視為通訊數據流。 通訊數據流上的 WASAPI 作業類似於任何其他音訊數據流。 如需詳細資訊,請參閱 使用裝置角色
串流衰減或音訊躲避 (新增) 自動躲避或 串流衰減 是 Windows 7 中適用於 VoIP 和整合通訊應用程式的新功能。 根據預設,當通訊裝置透過計算機接收到通訊串流(例如電話通話)時,操作系統會降低音訊串流的強度。 音量選項是由使用者在 音效 控制面板中設定。 Windows SDK 中已新增新的 API,可讓應用程式取代預設的躲避行為。 如需實作自訂音量降低功能的詳細資訊,請參閱 提供自訂音量降低行為
串流路由 (新增) 在 Windows 7 中,核心音訊 API 已改善,可將音訊串流順暢地從現有的裝置傳輸到新的預設音訊端點。 使用核心音訊 API 的高階音訊 API 集合,例如 Media Foundation、DirectSound 和 WAVE API,實作串流路由功能。 使用這些 API 集合播放或擷取數據流的媒體應用程式會使用預設實作,而且不需要修改應用程式。 不過,如果您的媒體應用程式直接使用核心音訊 API,應用程式必須提供串流路由實作。 若要這樣做,應用程式必須處理新增的事件,以在預設裝置連線或移除時通知 WASAPI 用戶端。 如需此功能的詳細資訊,請參閱 串流路由
受保護的用戶模式音訊(PUMA)(改良版) PUMA 已針對 Windows 7 更新,以提供下列功能:
  • 在 S/PDIF 端點上設定序列複製管理系統 (SCMS) 位,並在 High-Definition 多媒體介面 (HDMI) 端點上設定高頻寬數位內容保護 (HDCP) 位。
  • 在受保護的環境外啟用 SCMS 和 HDMI 保護控件。
如需有關改善的更多資訊,請參閱 受保護的使用者模式音訊 (PUMA)
WAVEFORMATEXTENSIBLE 結構已延伸至 WAVEFORMATEXTENSIBLE_IEC61937 結構(新增) 在 Windows 7 中,已新增結構以支援 IEC 61937 傳輸。 WAVEFORMATEXTENSIBLE_IEC61937 擴展 WAVEFORMATEXTENSIBLE 結構,以儲存兩組音訊串流特性:傳輸前的編碼音訊格式,以及解碼後音訊流的特性。 新的 結構明確指定非 PCM 格式的有效通道數目、樣本大小和數據速率。 透過這項資訊,應用程式可以在解壓縮並播放後推斷非 PCM 數據流的質量等級。 如需詳細資訊,請參閱 代表 IEC 61937 傳輸的格式
IAudioClient::Initialize (改善) 已改善 IAudioClient::Initialize 方法,指出開啟音訊數據流時可能發生的特定錯誤。 新的錯誤碼如下:
  • AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED
  • AUDCLNT_E_BUFFER_SIZE_ERROR
  • AUDCLNT_E_INVALID_DEVICE_PERIOD
如需這些錯誤的詳細資訊,請參閱 IAudioClient::Initialize中的傳回值一節。
IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer (改良版) IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer 方法已改善,以傳回AUDCLNT_E_BUFFER_ERROR錯誤碼,指出未擷取專屬模式中的端點緩衝區。 如需詳細資訊,請參閱 IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer中的備註。
傑克偵測功能 (已改善) Windows 7 中的一個新介面,IKsJackDescription2,會擴展 IKsJackDescription。 藉由使用新的介面,音訊堆疊或應用程式可以取得額外的插孔資訊。 這包括插孔的偵測功能,以及裝置的格式是否動態變更。
Windows 範例 (新增) 新的範例已新增至 Windows SDK,以示範核心音訊 API 的使用。 如需詳細資訊,請參閱 SDK 範例,這些範例使用核心音訊 API

 

主要新介面

下列介面是 Windows 7 的新功能:

關於 Windows 核心音訊 API