Windows 7 中核心音訊 API 的新功能
核心音訊 API 是在 Windows Vista 中引進的,它提供了一組新的使用者模式音訊元件,用戶端應用程式可用來轉譯或擷取具有改良音訊功能的音訊串流。 如需此 API 集合的一般概觀,請參閱 關於 Windows Core 音訊 API。
Windows 7 中已改善核心音訊 API。 下表摘要說明核心音訊 API 的新功能和改善:
功能 | 描述 |
---|---|
一般改善 | Windows 7 中已改善下列功能:
|
通訊裝置 (新增) | 在此版本中,新的裝置類型已新增至 音效 控制面板: 通訊 裝置。 此裝置主要用於通訊,也就是在計算機上撥打或接聽電話。 通訊應用程式可以使用核心音訊元件來取得預設通訊裝置端點的參考,並轉譯用於通訊的音訊串流。 操作系統會將在通訊裝置上開啟的數據流視為通訊數據流。 通訊數據流上的 WASAPI 作業類似於任何其他音訊數據流。 如需詳細資訊,請參閱 使用裝置角色。 |
串流衰減或音訊躲避 (新增) | 自動躲避或 串流衰減 是 Windows 7 中的新功能,適用於 VoIP 和整合通訊應用程式。 根據預設,當通訊串流,例如電話等通訊串流透過計算機在通訊裝置上收到時,操作系統會減少音訊串流的強度。 音量選項是由 [音效] 控制面板中的用戶所設定。 Windows SDK 中已新增新的 API,可讓應用程式取代預設的躲避行為。 如需實作自定義鴨子功能的詳細資訊,請參閱 提供自定義鴨子行為。 |
串流路由 (新增) | 在 Windows 7 中,核心音訊 API 已改善,可將音訊串流順暢地從現有的裝置傳輸到新的預設音訊端點。 使用核心音訊 API 的高階音訊 API 集合,例如 Media Foundation、DirectSound 和 WAVE API,實作串流路由功能。 使用這些 API 集合播放或擷取數據流的媒體應用程式會使用預設實作,而且不需要修改應用程式。 不過,如果您的媒體應用程式直接使用核心音訊 API,應用程式必須提供串流路由實作。 若要這樣做,應用程式必須處理新增的事件,以在預設裝置連線或移除時通知 WASAPI 用戶端。 如需此功能的詳細資訊,請參閱 串流路由。 |
受保護的使用者模式音訊 (PUMA) (改善) | PUMA 已針對 Windows 7 更新,以提供下列功能:
|
2012年12月2日,2016年WAVEFORMATEXTENSIBLE_IEC61937結構已延伸至WAVEFORMATEXTENSIBLE_IEC61937結構 | 在 Windows 7 中,已新增結構以支援 IEC 61937 傳輸。 WAVEFORMATEXTENSIBLE_IEC61937擴充了工作訊號XTENSIBLE 結構,以儲存兩組音訊串流特性:傳輸前的編碼音訊格式,以及譯碼後音頻數據流的特性。 新的 結構明確指定非 PCM 格式的有效通道數目、樣本大小和數據速率。 透過這項資訊,應用程式可以在解壓縮並播放後推斷非 PCM 數據流的質量等級。 如需詳細資訊,請參閱 代表 IEC 61937 傳輸的格式。 |
IAudioClient::Initialize (已改善) | 已改善 IAudioClient::Initialize 方法,以指出開啟音訊數據流時可能發生的特定錯誤。 新的錯誤碼如下:
|
IAudioCaptureClient::GetBuffer 和 IAudioRenderClient::GetBuffer (已改善) | 已改善 IAudioCaptureClient::GetBuffer 和 IAudioRenderClient::GetBuffer 方法,以傳回AUDCLNT_E_BUFFER_ERROR錯誤碼,指出未擷取獨佔模式中的端點緩衝區。 如需詳細資訊,請參閱 IAudioCaptureClient::GetBuffer 和 IAudioRenderClient::GetBuffer 中的備註。 |
傑克偵測功能 (已改善) | Windows 7 的新介面 IKsJackDescription2 會擴充 IKsJackDescription。 藉由使用新的介面,音訊堆疊或應用程式可以取得額外的插孔資訊。 這包括插孔的偵測功能,以及裝置的格式是否動態變更。 |
Windows 範例 (新增) | 新的範例已新增至 Windows SDK,以示範核心音訊 API 的使用。 如需詳細資訊,請參閱 使用核心音訊 API 的 SDK 範例。 |
主要新介面
下列介面是 Windows 7 的新功能:
- IAudioClock2
- IAudioClockAdjustment
- IAudioEndpointVolumeEx
- IAudioSessionManager2
- IAudioSessionControl2
- IAudioSessionEnumerator
- IAudioSessionNotification
- IAudioVolumeDuckNotification
- IKsJackDescription2
- IKsJackSinkInformation
相關主題