NAudio 라이브러리를 사용하여 간단한 WinForms 오디오 레코더/플레이어를 작성하고 있습니다. 내 문제는 재생이 완료되었다는 것을 어떻게 알 수 있습니까? 그 후에 웨이브 스트림을 닫아야합니다. 누구든지 재생이 완료되었는지 확인하는 방법을 알고 않습니다Naudio, 재생 완료 방법을 알려드립니다.
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()
를 호출하여 트리거 될 수 있습니다 보인다 :
재생이 완료된 후'PlaybackStopped'가 실행되지 않았습니까? [출처] (http://daisy.trac.cvsdude.com/urakawa-sdk/browser/trunk/csharp/audio/NAudio/Wave/WaveOutputs/DirectSoundOut.cs?rev=1346)에서 ' processSamples()'마지막으로 이벤트가 발생합니다 ... – nemesv
예, 확실합니다. 나는 새로운 프로젝트를 테스트했다. 여전히 같은 문제가 발생합니다. 그게 버그 야? –
WaveOut을 오디오 출력으로 사용하는 경우와 동일합니다. –