Benutzer mit den meisten Antworten
Mediaplayer Playlist

Frage
-
Hallo,
versuche die aktuelle Playlist eines Mediaplayers beim beenden des Programmes zu speichern und beim öffnen wieder zu laden.
Jedoch finde ich keinen geeigneten Datentyp für die Speicherung. (String,....)
erhalte immer die Fehlermeldung Object von typ COM-Component kann nicht umgewandelt werden.
mfg.
Marduk
Antworten
-
Hallo Craig,
hab' mal wieder ein bischen experimentiert, bei Schnell-Recherche folgendes gefunden:
http://www.codeproject.com/KB/cs/CreateWMList.aspx
Hier noch ein Beispiel einer eigenen Playlist, ist schnell hingetippt, bitte auf Fehler, fehlende Bereinigungen etc überprüfen:
'Hier als eigene Playlist, wenn Du eine Windows-Media-Player-Playlist generieren möchtest, 'kannst Du einfach das Xml so einer Playlist nachbauen. 'Siehe http://www.codeproject.com/KB/cs/CreateWMList.aspx 'Ich kann allerdings nicht sagen, ob Microsoft das Nachbauen des Formates toleriert. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim pl As WMPLib.IWMPPlaylist = AxWindowsMediaPlayer1.currentPlaylist Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder() For i As Integer = 0 To pl.count - 1 sb.Append(pl.Item(i).sourceURL.ToString() & ";") Next Dim sr As IO.StreamWriter = Nothing Try sr = New IO.StreamWriter("C:\Pfad\zu\Wiedergabeliste") sr.AutoFlush = True sr.Write(sb.ToString()) sr.Close() Catch ex As Exception If Not sr Is Nothing Then Try sr.Close() Catch End Try End If MessageBox.Show(ex.Message) End Try End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim pl As WMPLib.IWMPPlaylist = AxWindowsMediaPlayer1.currentPlaylist 'evtl die Commandsetwas anpassen AxWindowsMediaPlayer1.Ctlcontrols.stop() AxWindowsMediaPlayer1.newPlaylist("PL_1", "") Dim l As String = IO.File.ReadAllText("C:\Pfad\zu\Wiedergabeliste") Dim items As String() = l.Split(New String() {";"}, StringSplitOptions.RemoveEmptyEntries) For Each f As String In items If IO.File.Exists(f) Then Try Dim song = Me.AxWindowsMediaPlayer1.newMedia(f) Me.AxWindowsMediaPlayer1.currentPlaylist.appendItem(song) Catch End Try End If Next Me.AxWindowsMediaPlayer1.Ctlcontrols.play() End Sub
Viele Grüße,
Thorsten
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:51
Alle Antworten
-
Hallo Craig,
versuche die aktuelle Playlist eines Mediaplayers beim beenden des Programmes zu speichern und beim öffnen wieder zu laden.
Jedoch finde ich keinen geeigneten Datentyp für die Speicherung. (String,....)
erhalte immer die Fehlermeldung Object von typ COM-Component kann nicht umgewandelt werden.
Wahrscheinlich meinst Du den Windows Media Player. Was hast Du denn bisher versucht, wo bekommst Du diese Fehlermeldung?
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo Craig,
hab' mal wieder ein bischen experimentiert, bei Schnell-Recherche folgendes gefunden:
http://www.codeproject.com/KB/cs/CreateWMList.aspx
Hier noch ein Beispiel einer eigenen Playlist, ist schnell hingetippt, bitte auf Fehler, fehlende Bereinigungen etc überprüfen:
'Hier als eigene Playlist, wenn Du eine Windows-Media-Player-Playlist generieren möchtest, 'kannst Du einfach das Xml so einer Playlist nachbauen. 'Siehe http://www.codeproject.com/KB/cs/CreateWMList.aspx 'Ich kann allerdings nicht sagen, ob Microsoft das Nachbauen des Formates toleriert. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim pl As WMPLib.IWMPPlaylist = AxWindowsMediaPlayer1.currentPlaylist Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder() For i As Integer = 0 To pl.count - 1 sb.Append(pl.Item(i).sourceURL.ToString() & ";") Next Dim sr As IO.StreamWriter = Nothing Try sr = New IO.StreamWriter("C:\Pfad\zu\Wiedergabeliste") sr.AutoFlush = True sr.Write(sb.ToString()) sr.Close() Catch ex As Exception If Not sr Is Nothing Then Try sr.Close() Catch End Try End If MessageBox.Show(ex.Message) End Try End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim pl As WMPLib.IWMPPlaylist = AxWindowsMediaPlayer1.currentPlaylist 'evtl die Commandsetwas anpassen AxWindowsMediaPlayer1.Ctlcontrols.stop() AxWindowsMediaPlayer1.newPlaylist("PL_1", "") Dim l As String = IO.File.ReadAllText("C:\Pfad\zu\Wiedergabeliste") Dim items As String() = l.Split(New String() {";"}, StringSplitOptions.RemoveEmptyEntries) For Each f As String In items If IO.File.Exists(f) Then Try Dim song = Me.AxWindowsMediaPlayer1.newMedia(f) Me.AxWindowsMediaPlayer1.currentPlaylist.appendItem(song) Catch End Try End If Next Me.AxWindowsMediaPlayer1.Ctlcontrols.play() End Sub
Viele Grüße,
Thorsten
- Als Antwort markiert Thorsten DörflerModerator Samstag, 31. Juli 2010 15:51