Katastrophale Fehler (Ausnahme von HRESULT: 0x8000FFFF) erstellen einer Wiedergabeliste mit axwindowsMediaPlayer
Ich bin mit der axwindowsMediaPlayer-Objekt, um videos in einer winform. Insbesondere möchte ich Abspielen einer Wiedergabeliste.
Alles funktioniert einwandfrei auf meinem pc (win7) und verwendet, um gut funktionieren auch in einem anderen pc mit winXP (der pc des End-Benutzers).
Aber etwas passiert, vor ein paar Tagen: auf dem XP-PC habe ich begonnen zu erhalten, die folgenden expcetion
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)
Hier der code, steigt die Ausnahme:
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;
[....]
Ausnahme begonnen hat, sich zu gestiegen, während die Anwendung zu arbeiten und wurde nun mit dem gleichen Verhalten.
Ich versuchte, installieren Sie Windows Media Player (11) auf dem XP-Rechner, aber nichts änderte sich.
UPDATE:
Habe ich versucht, zu kommentieren, den Teil des Codes im Zusammenhang mit der playlist (und verwenden Sie die Methode "URL", um das video eine spielen wollen) und alles funktioniert einwandfrei. Ich bin wirklich ratlos...
Jede Hilfe wäre wirklich zu schätzen.
Dank
(1) Nein, weil auf meinem dev pc den Fehler nicht passieren. Aber ich bin mir ziemlich sicher, dass die Linie, die die Ausnahme ausgelöst wird "WMPLib.IWMPPlaylist playlist = VideoPlayer.playlistCollection.newPlaylist("myplaylist");" denn ich habe versucht, die Linie zu bewegen "VideoPlayer.uiMode = "none";" vor und es wird ordnungsgemäß ausgeführt. (2) ja, da es einwandfrei funktioniert, seit 2 Tagen (3) ich eingefügt wird der code in einen try-catch: also meine Anwendung nicht zum Absturz bringen, aber das video nie gespielt
einen Blick in den EventViewer es könnte Ihnen einen Grund gibt
Könnte das problem mit der Tatsache zusammenhängen, dass ich die Entwicklung auf einem PC mit Win7 und Media Player 12, während die Anwendung läuft auf Win XP mit Media Player 11?
Im EventViewer habe ich nicht sehen können, etwas sinnvolles. Von dem, was ich verstehe, ist die "WMPLib.IWMPPlaylistCollection" ist ein Objekt enthalten in "Interop.WMPLib.dll" oder im "AxInterop.WMPLib.dll" dass ich mit der Anwendung verteilen. Gibt es eine Referenz in der dll der pc beschädigt werden?
InformationsquelleAutor muccix | 2014-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich endlich das problem gefunden!
Mein Fehler war nicht zu löschen, die playlist einmal benutzt (mit IWMPPlaylistCollection::remove-Methode
). Ich erkannte, dass ich hatte 2000 Playlisten ( myplaylist.wpl, myplaylist(1).wpl,..., myplaylist(1999).wpl) in meinem Dateisystem und wahrscheinlich gibt es ein limit von 2000.
Ich weiß nicht, ob es ein limit des Dateisystems oder der WMP.
Einmal gelöscht, alle Dateien, alles wieder angefangen zu arbeiten.
Danke an alle für Eure Hilfe!
Es gibt absolut keine Möglichkeit würde ich haben die Lösung gefunden, um dieses problem auf, wenn ich noch nicht deine Antwort gelesen. Vielen Dank für Ihr kommen zurück und postest die Lösung.
InformationsquelleAutor muccix