0
它是如何工作的,必須:OutOfMemoryException異常處理和Windows Media Player SDK
WindowsMediaPlayer windowsMediaPlayer = new WindowsMediaPlayer();
IWMPMediaCollection collection = windowsMediaPlayer.mediaCollection;
IWMPMedia newMedia = collection.add(path); //causes OutOfMemoryException after some thousands method's iterations
我試圖避免這樣說:
try
{
newMedia = collection.add(path);
return newMedia;
}
catch (Exception)
{
collection = null;
GC.Collect();
GC.WaitForPendingFinalizers();
WindowsMediaPlayer windowsMediaPlayer = new WindowsMediaPlayer();
IWMPMediaCollection collectionNew = windowsMediaPlayer.mediaCollection;
return CreateNewMedia(collectionNew, path);
}
但是,這並不工作 - 我仍然得到無限的例外循環內catch
。
堆棧跟蹤將是有用的 –
這是'CreateNewMedia'方法?所以這個操作會拋出一個'Exception'並且你正在遞歸地重試它呢?如果第一次失敗,爲什麼它會在第n次運行? –
是的,這是一個循環。執行失敗超過2000次。所以我試圖釋放記憶。 –