共用方式為


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 媒體播放器 僅透過使用者無法變更的預設音訊裝置播放音樂。 若要讓 Windows 媒體播放器 將音訊轉譯至特定裝置,必須在 [音效] 控制面板中變更默認裝置。 在 Windows 7 中,Windows 媒體播放器 提供 API,讓應用程式能夠轉譯給用戶選取的任何裝置,而不只是預設裝置。
  • 在 Windows Vista 中,如果播放音訊的電腦切換到電源儲存模式,計算機就會鎖定,而且如果使用者想要中斷播放,用戶必須登入並按下停止鍵來停止播放。 在 Windows 7 中,如果電腦已鎖定,您仍然可以使用鍵盤上的 HID 控制播放。
  • Windows 7 可減少任何使用 DirectSound 和 DirectShow 轉譯媒體的應用程式耗電量。 此外,多媒體類別排程器服務可啟用故障復原音訊,並在產生音訊樣本時使用較少的電源。
通訊裝置 (新增) 在此版本中,新的裝置類型已新增至 音效 控制面板: 通訊 裝置。 此裝置主要用於通訊,也就是在計算機上撥打或接聽電話。 通訊應用程式可以使用核心音訊元件來取得預設通訊裝置端點的參考,並轉譯用於通訊的音訊串流。 操作系統會將在通訊裝置上開啟的數據流視為通訊數據流。 通訊數據流上的 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) 位,以及在高定義多媒體介面 (HDMI) 端點上設定高頻寬數位內容保護 (HDCP) 位。
  • 在受保護的環境外啟用 SCMS 和 HDMI 保護控件。
如需改善的詳細資訊,請參閱 受保護的使用者模式音訊 (PUMA)
2012年12月2日,2016年WAVEFORMATEXTENSIBLE_IEC61937結構已延伸至WAVEFORMATEXTENSIBLE_IEC61937結構 在 Windows 7 中,已新增結構以支援 IEC 61937 傳輸。 WAVEFORMATEXTENSIBLE_IEC61937擴充了工作訊號XTENSIBLE 結構,以儲存兩組音訊串流特性:傳輸前的編碼音訊格式,以及譯碼後音頻數據流的特性。 新的 結構明確指定非 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::GetBuffer 和 IAudioRenderClient::GetBuffer 方法,以傳回AUDCLNT_E_BUFFER_ERROR錯誤碼,指出未擷取獨佔模式中的端點緩衝區。 如需詳細資訊,請參閱 IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer 中的備註。
傑克偵測功能 (已改善) Windows 7 的新介面 IKsJackDescription2 會擴充 IKsJackDescription。 藉由使用新的介面,音訊堆疊或應用程式可以取得額外的插孔資訊。 這包括插孔的偵測功能,以及裝置的格式是否動態變更。
Windows 範例 (新增) 新的範例已新增至 Windows SDK,以示範核心音訊 API 的使用。 如需詳細資訊,請參閱 使用核心音訊 API 的 SDK 範例。

 

主要新介面

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

關於 Windows Core 音訊 API