我正在使用 NAudio 库来编写一个简单的 WinForms 录音机/播放器。我的问题是如何判断播放已完成?之后我需要关闭波流。
我知道下面列出了一个 PlaybackStopped 事件:
wfr = new NAudio.Wave.WaveFileReader(this.outputFilename);
audioOutput = new DirectSoundOut();
WaveChannel32 wc = new NAudio.Wave.WaveChannel32(wfr);
audioOutput.Init(wc);
audioOutput.PlaybackStopped += new EventHandler<StoppedEventArgs>(audioOutput_PlaybackStopped);
audioOutput.Play();
但是这个 PlaybackStopped 事件似乎只能通过调用来触发audioOutput.stop()
,有谁知道如何确定播放是否完成?
我为这个问题创建了一个开源项目,你可以在这里找到它:https ://code.google.com/p/stack-overflow-questions/