共用方式為


列舉音頻裝置

用戶端音訊應用程式的第一項工作是尋找要使用的適當音訊裝置。 MMDevice API 可讓用戶端探索系統中 音訊端點裝置,並判斷哪些裝置適合應用程式使用。 此 API 可讓用戶端擷取可用端點裝置的集合,並取得每個裝置的功能。 頭檔 Mmdeviceapi.h 定義 MMDevice API 中的介面。

音訊配接器可能包含數個裝置,例如波浪轉譯裝置和波浪擷取裝置。 這些是配接器裝置,而不是端點裝置。 如先前所述,即插即用管理員會註冊配接器裝置,與端點管理員所註冊的端點裝置相反。 每個配接器裝置通常支援一或多個端點裝置。 轉譯端點裝置(例如耳機)可以從用戶端應用程式接收音訊數據的串流,而擷取端點裝置(例如麥克風)可以將音訊串流傳送至用戶端應用程式。

在列舉系統中的端點裝置之前,客戶端必須先呼叫 Windows CoCreateInstance 函式,才能建立裝置列舉值。 裝置列舉值是具有 IMMDeviceEnumerator 介面的物件。 如需 CoCreateInstance的相關信息,請參閱 Windows SDK 檔。

用戶端會呼叫 IMMDeviceEnumerator::EnumAudioEndpoints 方法來建立端點物件的集合。 每個端點物件都代表系統中的音訊端點裝置。 在此呼叫中,用戶端會指定集合是否應該包含系統中的所有轉譯裝置、所有擷取裝置或兩者。

裝置集合是具有 IMMDeviceCollection 介面的物件。 裝置集合中的每個項目至少具有以下兩個介面的端點物件:

擷取端點裝置集合之後,客戶端可以查詢集合中個別裝置的屬性,以判斷其適用性。 如需示範如何列舉端點裝置並查詢其屬性的程式代碼範例,請參閱 裝置屬性

選取適當的裝置之後,用戶端可以呼叫 IMMDevice::Activate 方法來在 WASAPI DeviceTopology APIEndpointVolume API中啟動裝置特定介面。

音頻端點裝置