關於 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 | 當新增或移除音訊端點裝置、裝置的狀態或屬性變更,或指派給裝置的預設角色發生變更時,提供通知。 |
相關主題