如何解决C#NAudio库麦克风未提供数据
我使用NAudio库在计时器经过的事件中从麦克风捕获声音电平,为此,我使用以下代码:
public Form1()
{
InitializeComponent();
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
var devices = enumerator.EnumerateAudioEndPoints(DataFlow.All,DeviceState.Active);
comboBox1.Items.AddRange(devices.ToArray());
}
private void Form1_Load(object sender,EventArgs e)
{
aTimer = new System.Timers.Timer();
aTimer.Interval = 50;
aTimer.Elapsed += TickEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;
}
private void TickEvent(Object source,ElapsedEventArgs e)
{
if (comboBox1.SelectedItem != null)
{
var device = (MMDevice)comboBox1.SelectedItem;
value = device.AudioMeterInformation.MasterPeakValue * 100;
chart1.Series[0].Points.AddXY(time,value);
}
此代码昨天运行良好,我没有对其进行修改。但是今天仅适用于耳机。每次读取MasterPeakValue
时,Value
等于0。有人可以帮我吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。