public NAudio.Wave.WaveFileWriter wav_writer = null; // snemanje
public WaveIn strim;
private void snemanje_Click(object sender, RoutedEventArgs e)
{
strim = new WaveIn();
strim.WaveFormat = new WaveFormat(44100, 0);
SaveFileDialog svg = new SaveFileDialog();
svg.Filter = "*WAV File (*.wav)|*.wav;*";
svg.ShowDialog();
strim.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
wav_writer = new WaveFileWriter(svg.FileName, strim.WaveFormat);
strim.StartRecording();
}
public void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
wav_writer.WriteData(e.Buffer, 0, e.BytesRecorded);
wav_writer.Flush();
}
一切都很完美,文件保存在项目位置,但我无法操作。它说它是一个波形文件,但每次我想播放它,它说我必须找到以这种格式播放的编解码器(但没有任何)。
答案 0 :(得分:0)
不要创建包含0个通道的WaveFormat。您应该使用1表示单声道或2表示立体声。
// create a mono 44.1kHz wave format
new WaveFormat(44100, 1);