【问题标题】:Enable Microphone using NAudio c#使用 NAudio c# 启用麦克风
【发布时间】:2017-02-22 23:41:06
【问题描述】:

我有这段代码,它使用 NAudio 来查找笔记本电脑上连接的所有麦克风,当我选择一个时,它会在进度条中显示一米的声音。 当我收集所有设备时,我将它们收集在一个 dropdwon 列表中,我的问题是,当我从列表中选择一个麦克风时,除非我启动似乎激活了 WINDOWS SOUND RECORDER,否则它将不会被激活并在仪表上显示声音麦克风。 如何在不启动 WINDOWS SOUND RECORDER 的情况下通过代码启用或激活麦克风?

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using NAudio;
using NAudio.CoreAudioApi;
using System.Threading;
using NAudio.Wave;
using NAudio.Mixer;

namespace NaudioVisualizer
{
    public partial class Form1 : Form
    {
        public int a = 1;
        public Form1()
        {
            InitializeComponent();
            MMDeviceEnumerator de = new MMDeviceEnumerator();
            var device = de.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active);

            comboBox1.Items.AddRange(device.ToArray());
        }
       private void timer1_Tick(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem != null)
            {
                var device = (MMDevice)comboBox1.SelectedItem;
                progressBar1.Value = (int)Math.Round(device.AudioMeterInformation.MasterPeakValue * 100);

            }
        }


    }
}

【问题讨论】:

    标签: c# naudio


    【解决方案1】:

    我有同样的问题尝试使用以下代码:

    var waveIn = new WaveIn();
    waveIn.StartRecording();
    

    【讨论】:

    • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多