如果我用SoundPlayer或NAudio播放声音, 如何检查声音播放的时间? 因为我现在使用它:
waveOut.Play();
waveOut.Dispose();
如果我测试了这个,那么我会听到一点点"点击" 正如预期的那样,但我希望听到完整的长度 声音,然后处置它。我怎么能这样做?
答案 0 :(得分:1)
有PlaybackStopped
个事件,但doesn't seem a real solution。
现在您的代码存在问题:Play
方法即将发生。它开始播放,然后将控件返回到您的程序。它在后台运行。你现在立即处理它,导致它停止。
如果没有其他方法可以完成此操作,我建议您列出已使用的waveOut
个实例,并在关闭并处理表单时将其丢弃。通过这种方式,至少可以释放内存。