【问题标题】:Audio disposing problems using AudioVideoPlayback library使用 AudioVideoPlayback 库的音频处理问题
【发布时间】:2016-02-03 18:36:53
【问题描述】:

我正在尝试制作播放列表,其中音乐一个接一个地播放。我需要Dispose()Audio,当它完成时,因为会发生内存泄漏。我写了这段代码:

Audio a = new Audio(@"Music\Title.ogg");
a.Ending += new EventHandler((sender, e) => { (sender as Audio).Dispose(); });
a.Play();

问题是我在Application.Run(new MainForm()); 中有System.AccessViolationExceptionAttempted to read or write protected memory. This is often an indication that other memory is corrupt。它发生在音乐播放完毕后的结束事件处理程序中。 那么,如何才能一个接一个地播放一些音乐文件,并在播放完之前处理掉之前的音频呢?

【问题讨论】:

    标签: c# winforms exception audiovideoplayback


    【解决方案1】:

    不要在它自己的事件中处理Audio,因为这个类可能想在调用你的处理程序后做一些簿记工作。

    我不知道你的应用程序的逻辑,但这里有一些想法,尝试在事件处理程序内的这个对象上调用Open。它应该足够聪明,可以处理旧数据并加载新数据。

    【讨论】:

    • 谢谢。我试图制作new Audio,但它没有处理资源。 Open 做我想做的事。
    猜你喜欢
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2011-02-21
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多