2016-02-03 66 views
0

我正在嘗試製作播放列表,音樂在其中播放。當它結束時,我需要Dispose()Audio,因爲會發生內存泄漏。我寫了這個代碼:音頻使用AudioVideoPlayback庫處理問題

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

的問題是,我有System.AccessViolationExceptionApplication.Run(new MainForm());Attempted to read or write protected memory. This is often an indication that other memory is corrupt。它發生在音樂結束播放後的結束事件處理程序中。 那麼,我怎麼能一個接一個地播放一些音樂文件,然後處理之前的音頻呢?

回答

0

不要在自己的事件中處置Audio,因爲這個類在調用處理程序之後可能想做一些簿記工作。

我不知道你的應用程序的邏輯,但這裏有一些想法,試着在事件處理程序內的這個對象上調用Open。它應該足夠聰明,可以處理舊數據並加載新數據。

+0

謝謝。我嘗試製作'新音頻',但沒有配置資源。開放'做我想要的。 –