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/