录制语音并使用naudio播放

时间:2015-11-17 22:09:22

标签: c# record naudio

录制时出现问题我无法播放。播放器说这个项目的文件格式可能不受支持。

        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();
    }

1 个答案:

答案 0 :(得分:1)

正如您在创建WaveFileWriter对象时所做的那样,停止录制,然后不对wav文件写任何内容。你最终得到的是一个空文件,它甚至不会有用。

在开始录制之前先创建WaveFileWriter。在DataAvailable对象的recorder事件处理程序中,将收到的样本数据写入WaveFileWriter。然后,当您完成录制后,请丢弃WaveFileWriter以完成录制。

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