Катастрофический сбой (исключение из HRESULT: 0x8000FFFF) при создании списка воспроизведения с помощью axwindowsMediaPlayer

Я использую объект axwindowsMediaPlayer, чтобы показать видео в форме win. В частности, я хочу играть в плейлист.

Все отлично работает на моем ПК (win7) и раньше нормально работало и на другом ПК с winXP (ПК конечного пользователя).

Но что-то случилось пару дней назад: на ПК с XP я начал получать следующие исключения

Unhandled Exception:

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

System.Runtime.InteropServices.COMException

Stack Trace:
   at WMPLib.IWMPPlaylistCollection.newPlaylist(String bstrName)
   at BrinaS941.ScreenSaverVideo.ScreenSaver_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Вот код, который вызывает исключение:

private void ScreenSaverVideo_Load(object sender, EventArgs e)
{
    WMPLib.IWMPPlaylist playlist = VideoPlayer.playlistCollection.newPlaylist("myplaylist");
    WMPLib.IWMPMedia media;
    VideoPlayer.uiMode = "none";
    VideoPlayer.settings.volume = 10;
    [....]

Исключение стало возникать во время работы приложения, и теперь оно продолжает работать так же.

Я попытался переустановить Windows Media Player (11) на компьютере с XP, но ничего не изменилось.

ОБНОВИТЬ:

Я попытался прокомментировать часть кода, относящуюся к плейлисту (и использовал метод "URL", чтобы установить видео для воспроизведения), и все работает нормально. Я действительно озадачен...

Любая помощь могла бы быть полезна. Спасибо

1 ответ

Решение

Я наконец нашел проблему!

Моя ошибка не состояла в том, чтобы удалить плейлист, который использовался (с помощью метода IWMPPlaylistCollection::remove). Я понял, что у меня в моей файловой системе 2000 плейлистов ( myplaylist.wpl, myplaylist(1).wpl,..., myplaylist(1999).wpl) и, возможно, существует ограничение 2000.

Я не знаю, является ли это пределом файловой системы или WMP.

После удаления всех файлов все снова заработало.

Спасибо всем за вашу помощь!

Другие вопросы по тегам