C# Windows 7上的静音麦克风
我在windows 7机器上静音麦克风时遇到问题。但是我发现的所有代码都没有运行,或者它没有运行任何东西。在Windows7机器上使用C#代码完成。我只需要一个开/关解决方案。 DDL文件也适用于Win X64位。但我认为我在另一个地方制造了一个错误C# Windows 7上的静音麦克风,c#,windows-7,C#,Windows 7,我在windows 7机器上静音麦克风时遇到问题。但是我发现的所有代码都没有运行,或者它没有运行任何东西。在Windows7机器上使用C#代码完成。我只需要一个开/关解决方案。 DDL文件也适用于Win X64位。但我认为我在另一个地方制造了一个错误 mixers.Recording.Lines.GetMixerFirstLineByComponentType( MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE
mixers.Recording.Lines.GetMixerFirstLineByComponentType(
MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE).Volume = 0;
if (!mediaElement1.CheckAccess()) mediaElement1.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate { mediaElement1.Play(); });
if (MessageBox.Show("Incoming Call from: " + string.Format(e.RemoteParticipant), "Video Chat Call", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
mixers.Recording.Lines.GetMixerFirstLineByComponentType(
MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE).Volume = 1;
if (!mediaElement1.CheckAccess()) mediaElement1.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)delegate { mediaElement1.Stop(); });
_currentConversation.StartVideo();
}'
如果在If(MessageBox.Show(“传入呼叫来自:”+string.Format(e.RemoteParticipant),“视频聊天呼叫”,MessageBoxButton.YesNo)==MessageBoxResult.Yes)
时出错,并说{“算术运算导致溢出”。}这可能会有帮助:
祝你好运:)
编辑:如果我是对的,它还可以使某些设备静音。这可能会有帮助:
祝你好运:)
编辑:如果我是对的,它还可以使某些设备静音。--这位先生似乎有类似的问题,他提供了解决方案的源代码。--这位先生似乎有类似的问题,他提供了解决方案的源代码。您可以使用音频切换器Api 代码非常简单:
private async void btnMute_ButtonClick(object sender, EventArgs e)
{
var audioController = new CoreAudioController();
var devices = await audioController.GetDevicesAsync(DeviceType.Capture, DeviceState.Active);
var device = devices.FirstOrDefault(x => x.IsDefaultDevice);
if(device != null) {
await device.SetMuteAsync(!device.IsMuted);
}
}
您可以使用音频切换器Api 代码非常简单:
private async void btnMute_ButtonClick(object sender, EventArgs e)
{
var audioController = new CoreAudioController();
var devices = await audioController.GetDevicesAsync(DeviceType.Capture, DeviceState.Active);
var device = devices.FirstOrDefault(x => x.IsDefaultDevice);
if(device != null) {
await device.SetMuteAsync(!device.IsMuted);
}
}
对我来说,似乎更大的错误是算术运算导致溢出(对我来说,这个错误似乎更严重,因为算术运算导致了溢出。:(什么是
e.RemoteParticipant
?如果您将该字符串.Format放在它自己的行上并将其保存到变量中,那么错误是否会发生在该行上?事实上,我没有看到只接受一个参数的string.Format
重载,这是扩展方法吗?如果您ut该字符串.Format在它自己的行上,并将其保存到一个变量中。错误是否发生在该行上?事实上,我没有看到只接受一个参数的string.Format
重载,这是一个扩展方法吗?可能重复很好。看起来SetMuteAsync
应该是MuteAsync
,或者您可以使用seToggleMute
Nice。看起来SetMuteAsync
应该是MuteAsync
,或者您可以直接使用ToggleMute