Windows 7 中核心音訊 API 的新功能
核心音訊 API 是在 Windows Vista 中引進的,它提供了一組新的使用者模式音訊元件,用戶端應用程式可用來轉譯或擷取具有改良音訊功能的音訊串流。 如需此 API 集合的一般概觀,請參閱 關於 Windows Core 音訊 API。
Windows 7 中已改善核心音訊 API。 下表摘要說明核心音訊 API 的新功能和改善:
特徵 | 描述 |
---|---|
一般改善 | Windows 7 中已改善下列功能:
|
通訊裝置 (新增) | 在此版本中,新的裝置類型已新增至 音效 控制面板: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 更新,以提供下列功能:
|
WAVEFORMATEXTENSIBLE 結構已延伸至 WAVEFORMATEXTENSIBLE_IEC61937 結構(新增) | 在 Windows 7 中,已新增結構以支援 IEC 61937 傳輸。
WAVEFORMATEXTENSIBLE_IEC61937 擴展 WAVEFORMATEXTENSIBLE 結構,以儲存兩組音訊串流特性:傳輸前的編碼音訊格式,以及解碼後音訊流的特性。 新的 結構明確指定非 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 的使用。 如需詳細資訊,請參閱 SDK 範例,這些範例使用核心音訊 API。 |
主要新介面
下列介面是 Windows 7 的新功能:
- IAudioClock2
- IAudioClockAdjustment
- IAudioEndpointVolumeEx
- IAudioSessionManager2
- IAudioSessionControl2
- IAudioSessionEnumerator
- IAudioSessionNotification
- IAudioVolumeDuckNotification
- IKsJackDescription2
- IKsJackSinkInformation
相關主題