Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows 7上的静音麦克风_C#_Windows 7 - Fatal编程技术网

C# Windows 7上的静音麦克风

C# Windows 7上的静音麦克风,c#,windows-7,C#,Windows 7,我在windows 7机器上静音麦克风时遇到问题。但是我发现的所有代码都没有运行,或者它没有运行任何东西。在Windows7机器上使用C#代码完成。我只需要一个开/关解决方案。 DDL文件也适用于Win X64位。但我认为我在另一个地方制造了一个错误 mixers.Recording.Lines.GetMixerFirstLineByComponentType( MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE

我在windows 7机器上静音麦克风时遇到问题。但是我发现的所有代码都没有运行,或者它没有运行任何东西。在Windows7机器上使用C#代码完成。我只需要一个开/关解决方案。 DDL文件也适用于Win X64位。但我认为我在另一个地方制造了一个错误

        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
,或者您可以使用se
ToggleMute
Nice。看起来
SetMuteAsync
应该是
MuteAsync
,或者您可以直接使用
ToggleMute