0

それがどのように機能しなければならないか:

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

4

1 に答える 1