Как сделать измеритель уровня звука и показать значение в C#
Привет, мне нужно сделать что-то вроде vu-метра в visual studio. Я должен сделать программу с интерфейсом. Мне нужно измерить звук, воспринимаемый моим штатным микрофоном, и посмотреть, будет ли звук низким или громким. Я думаю, что мне нужно измерить децибелы и определить границы децибел низкого или громкого уровня. Мне нужна помощь, я новичок в программировании. Я новичок в программировании и обладаю базовыми знаниями visual studio и c #. Программа, которую я сделал, была основана на видео на youtube, но программа не работает правильно. Программа ничего не делает, и я не знаю, является ли это проблемой версии visual basic(2019) или моего ноутбука.
Что я уже пробовал:
using NAudio.CoreAudioApi; 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; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); MMDeviceEnumerator en = new MMDeviceEnumerator(); var devices = en.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active); comboBox1.Items.AddRange(devices.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)); } } } }
Richard MacCutchan
Было бы более полезно потратить свое время на изучение C# должным образом, прежде чем пытаться продвинутые предметы. Возьмите хорошую книгу на C# и пролистайте ее несколько раз. Это принесет дивиденды в долгосрочной перспективе.