[英]how to record and play audio multiple times, replacing audio file NAdio
我在這里有各種NAudio教程的代碼。 我做了一個簡單的錄音機。 其中有一個錄制按鈕,先停止錄制按鈕,然后再播放按鈕。 對於第一次錄音,它工作得非常好,我什至可以播放音頻。 但是每當我再次開始錄制時,它就會顯示錯誤,表明我的文件名正在被另一個進程使用。 我不知道應該停止什么程序。
這是我的代碼
public void recorUser()
{
waveInStream = new WaveIn();
// writer = null;
writer = new WaveFileWriter(@"D:\2.wav", waveInStream.WaveFormat);
waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
}
void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
writer.Write(e.Buffer, 0, e.BytesRecorded);
}
public void stopRecordUser()
{
waveInStream.StopRecording();
waveInStream.Dispose();
waveInStream = null;
writer.Close();
writer = null;
}
public void playRecordedUser()
{
pcm = new WaveChannel32(new WaveFileReader(@"D:\2.wav"));
//.PadWithZeroes = false;
reductionStream = new BlockAlignReductionStream(pcm);
waveOutDevice = new DirectSoundOut();
waveOutDevice.PlaybackStopped += new EventHandler<StoppedEventArgs>(audioOutput_PlaybackStopped);
waveOutDevice.Init(reductionStream);
waveOutDevice.Play();
// pcm.Close();
// waveOutDevice.Dispose();
}
預先感謝您的回答。 :) 請幫我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.