Win7:获取麦克风静音状态

时间:2013-08-29 17:22:12

标签: windows status microphone mute

我的主要目标是拥有一个程序,允许我使用“滚动锁定”键在窗口下静音/取消静音我的麦克风。由于键盘上的滚动锁定指示灯,这样可以很好地指示麦克风是否静音。

如何获取有关麦克风状态的信息 - 是否静音? 我可以打电话来达到这个目的吗?

由于

1 个答案:

答案 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

如果是真的,那么你的第一个麦克风静音。