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 (将#修改为@)