录制语音并用naudio播放

Recording voice and playing it with naudio

录音有问题我无法播放it.players说这个项目的文件格式可能不受支持。

        private void button1_Click(object sender, EventArgs e)
    {
        recorder = new WaveIn();
        recorder.WaveFormat = new WaveFormat(44100, 1);
        recorder.StartRecording();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        var filewriter = new WaveFileWriter("C:\Users\oguzhan\ödev\deneme.wav", recorder.WaveFormat);
        recorder.StopRecording();
        WaveStream mainOutputStream = new WaveFileReader("C:\Users\oguzhan\ödev\deneme.wav");
        WaveChannel32 volumeStream = new WaveChannel32(mainOutputStream);
        player = new WaveOut();
        player.Init(volumeStream);
        player.Play();
    }

正如您在创建 WaveFileWriter 对象时所做的那样,停止录音,然后不向 wav 文件写入任何内容。你最终得到的是一个空文件,一点用处都没有。

首先创建 WaveFileWriter,然后再开始录制。在 recorder 对象的 DataAvailable 事件处理程序中,将接收到的示例数据写入 WaveFileWriter。然后当你完成录音后,处理 WaveFileWriter 以完成它。

完成后,您应该拥有一个有效的 wav 文件。