2013-08-29 86 views
1

我的主要目标是创建一个程序,该程序允许我使用“滚动锁定”键在窗口下将麦克风静音/取消静音。这会给我一个很好的指示,因为我的键盘上的滚动锁定灯是否静音。Win7:获取麦克风静音状态

如何获取有关麦克风状态的信息 - 无论是否静音? 任何我可以打电话来实现这个吗?

谢谢

回答

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 

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