私の主な目標は、「スクロールロック」キーを使用して、ウィンドウの下でマイクをミュート/ミュート解除できるプログラムを作成することです。これは、キーボードのスクロール ロック ライトが原因でマイクがミュートされているかどうかを示す優れた指標になります。
マイクの状態 (ミュートされているかどうか) に関する情報を取得するにはどうすればよいですか? これを達成するために呼び出すことができるdllはありますか?
ありがとう
私の主な目標は、「スクロールロック」キーを使用して、ウィンドウの下でマイクをミュート/ミュート解除できるプログラムを作成することです。これは、キーボードのスクロール ロック ライトが原因でマイクがミュートされているかどうかを示す優れた指標になります。
マイクの状態 (ミュートされているかどうか) に関する情報を取得するにはどうすればよいですか? これを達成するために呼び出すことができるdllはありますか?
ありがとう
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
その場合、最初のマイクはミュートされています。