声音播放后处理音频?

时间:2015-11-26 15:44:22

标签: c# audio dispose

如果我用SoundPlayer或NAudio播放声音, 如何检查声音播放的时间? 因为我现在使用它:

waveOut.Play();  
waveOut.Dispose();

如果我测试了这个,那么我会听到一点点"点击" 正如预期的那样,但我希望听到完整的长度 声音,然后处置它。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

PlaybackStopped个事件,但doesn't seem a real solution

现在您的代码存在问题:Play方法即将发生。它开始播放,然后将控件返回到您的程序。它在后台运行。你现在立即处理它,导致它停止。

如果没有其他方法可以完成此操作,我建议您列出已使用的waveOut个实例,并在关闭并处理表单时将其丢弃。通过这种方式,至少可以释放内存。