1

私の主な目標は、「スクロールロック」キーを使用して、ウィンドウの下でマイクをミュート/ミュート解除できるプログラムを作成することです。これは、キーボードのスクロール ロック ライトが原因でマイクがミュートされているかどうかを示す優れた指標になります。

マイクの状態 (ミュートされているかどうか) に関する情報を取得するにはどうすればよいですか? これを達成するために呼び出すことができるdllはありますか?

ありがとう

4

1 に答える 1

2

CoreAudioApi を使用します。ここでdll を見つけることができます。この機能でマイクを見つけます:

  private List<MMDevice> gMicrophoneDevices = new List<MMDevice>();//global variable
  private bool findMicrophones()
        {
            MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
            MMDeviceCollection devices = DevEnum.EnumerateAudioEndPoints(EDataFlow.eCapture, EDeviceState.DEVICE_STATE_ACTIVE);
            for (int i = 0; i < devices.Count; i++)
            {
                MMDevice deviceAt = devices[i];
                if (deviceAt.FriendlyName.ToLower() == "microphone" || deviceAt.FriendlyName.ToLower() == "микрофон")//you can add more languages here
                    gMicrophoneDevices.Add(deviceAt);                
            }
            if (gMicrophoneDevices.Count == 0)
                return false;
            else return true;
        }

マイク デバイスが見つかったら、これを使用してミュート ステータスを取得します。

gMicrophoneDevices[0].AudioEndpointVolume.Mute

その場合、最初のマイクはミュートされています。

于 2014-02-26T17:05:06.770 に答える