我的主要目标是拥有一个程序,它允许我在 Windows 下使用“滚动锁定”键将我的麦克风静音/取消静音。由于键盘上的滚动锁定灯,这将给我一个很好的指示器,指示麦克风是否静音。
如何获取有关麦克风状态的信息 - 是否静音? 我可以调用任何 dll 来实现这个目标吗?
谢谢
最佳答案
使用 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
如果为真,则您的第一个麦克风已静音。
关于windows - Win7 : Get microphone mute status,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18517269/