簡體   English   中英

麥克風聲音與揚聲器聲音

[英]Sound from mic vs sound from speaker

我想分別從麥克風和揚聲器捕獲音頻。 如何區分它們? 我可以使用Wave API捕獲一個或另一個,例如WaveInOpen()。

當我使用waveInGetNumDevs()和waveInGetDevCaps()/ waveoutGetDevCaps()枚舉設備時,似乎沒有與特定端點設備(例如麥克風或揚聲器)有關的信息。 我只看到以下適配器設備:

高清讀取音頻輸入
高清讀取音頻輸出
攝像頭 ...

我實際上不了解Windows API,所以我的答案可能不是最好的,甚至還有更好的方法。

    HRESULT hr = CoInitialize(NULL);
    IMMDeviceEnumerator *pEnum = NULL;
    hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&pEnum);
    if(SUCCEEDED(hr))
    {
      IMMDeviceCollection *pDevices;
      // Enumerate the output devices.
      hr = pEnum->EnumAudioEndpoints(eAll, DEVICE_STATE_ACTIVE, &pDevices);
      // You can choose between eAll, eCapture or eRender
    }

這樣,您就可以區分輸入(捕獲)和輸出(渲染)。 (這就是您想要的嗎?)

該代碼摘自本文 您可能會查看它以獲取正確的API調用和庫,甚至可能為您提供更多信息。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM