使用AudioVideoPlayback库处理音频问题

Audio disposing problems using AudioVideoPlayback library

我正在尝试制作播放列表,其中音乐一首接一首地播放。当它完成时,我需要 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。它发生在音乐结束播放后的结束事件处理程序中。 那么,如何依次播放一些音乐文件,并在播放完后处理之前的音频?

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

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