c# – 使用axwindowsMediaPlayer创建播放列表的灾难性故障(HRESULT异常:0x8000FFFF)

我使用axwindowsMediaPlayer对象在winform中显示视频.特别是我想播放一个播放列表.我的电脑上的一切正常(win7),并且在另一台带有winXP(最终用户的电脑)的电脑上工作也很好.但事情发生在几天前:在XP PC上我开始收到...

我使用axwindowsMediaPlayer对象在winform中显示视频.特别是我想播放一个播放列表.

我的电脑上的一切正常(win7),并且在另一台带有winXP(最终用户的电脑)的电脑上工作也很好.

但事情发生在几天前:在XP PC上我开始收到以下的说明

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;
    [....]

当应用程序正在运行时,异常开始上升,现在继续保持相同的行为.

我试图在XP机器上重新安装Windows Media Player(11),但没有任何改变.

更新:

我试图评论与播放列表相关的代码部分(并使用“URL”方法设置想要播放的视频),一切正常.我真的很困惑……

任何帮助将非常感激.
谢谢

解决方法:

我终于找到了问题!

我的错是没有删除播放列表一旦使用(使用IWMPPlaylistCollection :: remove方法
).我意识到我的文件系统中有2000个播放列表(myplaylist.wpl,myplaylist(1).wpl,…,myplaylist(1999).wpl),可能有2000个限制.

我不知道它是文件系统还是WMP的限制.

一旦删除所有文件,一切都开始工作了.

谢谢大家的帮助!

本文标题为:c# – 使用axwindowsMediaPlayer创建播放列表的灾难性故障(HRESULT异常:0x8000FFFF)

基础教程推荐