Отключить микрофон на Windows 7 - PullRequest
0 голосов
/ 22 марта 2012

У меня проблема с отключением микрофона на компьютере с Windows 7.Но весь код, который я обнаружил, не запускается или не выполняется.Есть ли это сделано для машины Windows 7 с использованием кода C #.Мне просто нужно решение вкл / выкл.Файл DDL работает также с Win x64bit.Но мне кажется, что я создаю ошибку в другом месте.

        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("Incoming Call from: " + string.Format(e.RemoteParticipant), "Video Chat Call", MessageBoxButton.YesNo) == MessageBoxResult.Yes) и говорит {"Арифметическая операция вызвала переполнение."}

Ответы [ 3 ]

2 голосов
/ 22 марта 2012

http://www.computercabal.com/2010/11/mute-microphone-from-c-on-windows.html - у этого господина, похоже, была похожая проблема, и он предоставил исходный код для решения.

1 голос
/ 06 февраля 2017

Вы можете использовать Audio Switcher Api https://www.nuget.org/packages/AudioSwitcher.AudioApi.CoreAudio/4.0.0-alpha5

Код довольно прост:

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);
    }
}
0 голосов
/ 22 марта 2012

это может помочь: Контроль микшера Windows в C #

Удачи:).

РЕДАКТИРОВАТЬ: Это может также отключить звук определенных устройств, если я прав.1007 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...