Я пытаюсь создать приложение, которое позволяет мне записывать wav-файл каждый раз, когда объем ввода превышает заданный объем.
У меня есть код для записи звука с кнопки, но я хотел бы автоматизировать его, мой код ниже:
public partial class Form1 : Form
{
private WaveIn waveIn;
private WaveFileWriter writer;
String outputFilename = @"c:\test.wav";
public Form1()
{
InitializeComponent();
int sampleRate = 22000;
int channels = 1;
waveIn = new WaveIn();
waveIn.WaveFormat = new WaveFormat(sampleRate, channels);
waveIn.DeviceNumber = 0;
waveIn.DataAvailable += new EventHandler<WaveInEventArgs>(
waveIn_DataAvailable);
writer = new WaveFileWriter(outputFilename, waveIn.WaveFormat);
waveIn.StartRecording();
}
void waveIn_DataAvailable(object sender, WaveInEventArgs e)
{
writer.WriteData(e.Buffer, 0, e.BytesRecorded);
}
private void button1_Click(object sender, EventArgs e)
{
waveIn.StopRecording();
waveIn.Dispose();
writer.Close();
}
}