【发布时间】:2021-02-01 00:29:42
【问题描述】:
我目前正在尝试用 C# 编写一个程序来静音和取消静音麦克风以模拟口吃效果。
我试过用谷歌搜索,但我只能找到一些 10 年前的条目。
我尝试使用MediaCommands 然后MicrophoneVolumeMute 但无法让它工作。
提前致谢
【问题讨论】:
-
你能分享你的代码吗?
标签: c# microphone mute
我目前正在尝试用 C# 编写一个程序来静音和取消静音麦克风以模拟口吃效果。
我试过用谷歌搜索,但我只能找到一些 10 年前的条目。
我尝试使用MediaCommands 然后MicrophoneVolumeMute 但无法让它工作。
提前致谢
【问题讨论】:
标签: c# microphone mute
有许多用纯 C# 编写的开源项目可以完成这项工作。例如,您可以查看https://github.com/DanielGilbert/dgMicMute。不幸的是,自 Win7 以来,全局切换麦克风不再那么容易了。出于这个原因,所需的代码是相当可观的。作为起点,您可以阅读DgMic.cs。
如果我们考虑使用外部库,事情会变得容易得多。这是一些适用于NAudio的代码:
using var enumerator = new NAudio.CoreAudioApi.MMDeviceEnumerator();
var commDevice = enumerator.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Communications);
commDevice.AudioEndpointVolume.Mute = true; //or false
要完成这项工作,您必须添加对 NAudio NuGet package 的引用。
【讨论】: