我有这个代码使用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);
}
}
}
}
答案 0 :(得分:0)
我遇到同样的问题尝试使用以下代码:
var waveIn = new WaveIn();
waveIn.StartRecording();