使用NAudio加载.wav后退出程序时出错
|
前几天我刚找到NAudio,并且一直在玩。我编写了一个简单的Windows窗体程序,其中包含一个加载按钮(加载特定的.wav歌曲),以及用于播放,暂停,停止,淡入声音的按钮(我自己使用计时器和逐渐增加的音量添加的功能),以及淡出声音。我也有一个跟踪栏控件来处理音量。我创建了一个包装器类,以放置所有NAudio内容,并在声音开始或暂停时添加诸如淡入/淡出和事件通知之类的附加功能。
好的,所有人都说,这很好。该程序正确加载,播放,暂停,停止以及淡入和淡出。音量跟踪栏可以正确反映正在播放的歌曲的音量。这么多的作品,但我确实有两个问题。
首先,单击“加载”按钮加载声音,然后执行我想(或不执行)所有播放之后,退出程序时,我收到以下弹出错误消息(“断言失败” ):\“ AcmStreamHeader.Finalize()中未调用AcmStreamHeader处置”。这是“中止,重试,忽略”弹出窗口之一,但几秒钟后消失,项目终止。 (注意:加载功能创建DirectSoundOut并调用直接从站点上的NAudio示例获取的CreateInputStream...。它还为定义的事件设置事件处理程序,但这可能无关紧要。)
在类析构函数中,我进行以下调用:
mainOutputStream.Close();
mainOutputStream.Dispose();
waveOutDevice.Dispose();
但是我仍然得到错误。这是个大问题,我将在另一个线程中问另一个问题。知道为什么会发生这种情况以及如何阻止它吗?
我在Windows 7 32位上运行VS 10。
没有找到相关结果
已邀请:
1 个回复
漂汀拦