共用方式為


關於 MMDevice API

Windows 多媒體裝置 (MMDevice) API 可讓音訊用戶端探索 音訊端點裝置、判斷其功能,以及建立這些裝置的驅動程序實例。

頭檔 Mmdeviceapi.h 定義 MMDevice API 中的介面。

MMDevice API 是由數個介面所組成。 其中第一個是 IMMDeviceEnumerator 介面。 若要存取 MMDevice API 中的介面,用戶端會藉由呼叫 CoCreateInstance 函式來取得 device-enumerator 物件的 IMMDeviceEnumerator 介面參考,如下列代碼段所示:

  const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
  const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
  hr = CoCreateInstance(
         CLSID_MMDeviceEnumerator, NULL,
         CLSCTX_ALL, IID_IMMDeviceEnumerator,
         (void**)&pEnumerator);

在上述代碼段中,CLSID_MMDeviceEnumerator和IID_IMMDeviceEnumerator是附加為MMDeviceEnumerator類別物件和IMMDeviceEnumerator 介面之屬性GUID 值。 CoCreateInstance 呼叫會以傳址方式傳遞這些值。 hr變數的類型為 HRESULT,而 variable pEnumerator 是 device-enumerator 物件的 IMMDeviceEnumerator 介面指標IMMDeviceEnumerator 提供列舉音頻端點裝置的方法。 如需__uuidof運算符、CoCreateInstance 函式和 CLSCTX_Xxx 常數的相關信息,請參閱 Windows SDK 檔。

透過 IMMDeviceEnumerator 介面,用戶端可以取得 MMDevice API 中其他介面的參考。 MMDevice API 會實作下列介面。

介面 描述
IMMDevice 表示音訊裝置。
IMMDeviceCollection 表示音訊裝置的集合。
IMMDeviceEnumerator 提供列舉音頻裝置的方法。
IMMEndpoint 表示音訊端點裝置。

 

此外,需要音頻端點裝置中狀態變更通知的MMDevice API用戶端應該實作下列介面。

介面 描述
IMMNotificationClient 當新增或移除音訊端點裝置、裝置的狀態或屬性變更,或指派給裝置的預設角色發生變更時,提供通知。

 

音訊端點裝置

程式設計參考