我的主要目标是拥有一个程序,允许我使用“滚动锁定”键在窗口下静音/取消静音我的麦克风。由于键盘上的滚动锁定指示灯,这样可以很好地指示麦克风是否静音。
如何获取有关麦克风状态的信息 - 是否静音? 我可以打电话来达到这个目的吗?
由于
答案 0 :(得分:2)
使用CoreAudioApi。你可以找到dll here。 使用此功能找到您的麦克风:
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
如果是真的,那么你的第一个麦克风静音。