2017-07-20 7 views
0

Wenn ich Player.playlistCollection.newPlaylist("name") verwende, erstellt es eine name.wpl-Datei im Standard-Playlist-Verzeichnis (C: \ Users \ Benutzername \ Music \ Playlists). Wie kann ich diese Datei öffnen, wenn ich die Anwendung neu starte und an den Player weiterleite?Wie kann ich eine Playlist-Datei mit C# wmp öffnen

Antwort

0

Ich löste es durch individuelle Playlist-Dateien erstellen, wo jede Zeile eine URL Mediendatei ist. Wenn die Anwendung gestartet wird, liest sie die Datei zeilenweise und fügt sie der wmp-Wiedergabeliste hinzu.

private WMPLib.IWMPPlaylist openPlaylist(string playlistName) 
    { 
     WMPLib.IWMPPlaylist tempPlaylist = Player.newPlaylist(playlistName, null); 
     using (System.IO.StreamReader sr = new System.IO.StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\playlists\\" + playlistName + ".cpt")) 
     { 
      while (sr.Peek() >= 0) 
      { 
       string tempMediaUrl = sr.ReadLine(); 
       WMPLib.IWMPMedia tempMedia = Player.newMedia(tempMediaUrl); 
       tempPlaylist.appendItem(tempMedia); 
      } 
      return tempPlaylist; 
     } 
    } 
-1

Erstellen Sie eine .ini-Einstellungsdatei in Ihrem Anwendungsverzeichnis. Speichere den Pfad zu deiner Playlist dort. Wenn ein Programm startet, lies dann deine Einstellungsdatei und erhalte den Pfad zu deiner Playlist.

+0

Okay, aber wie funktioniert das Öffnen von Playlist-Dateien? – botiapa

+0

Starten Sie Ihren Player mit einem Parameter. Wie: aimp.exe "Pfad_zu_Datei/Datei" –

0

Hier ist ein Beispiel. Hier ich erhalte Datei von „Video“ Ordner im Anwendungsordner und Erstellen einer Playlist und Spielen in Schleife

private void GetMediaFiles() 
    {    
     FilePath = Application.StartupPath + "\\Videos\\"; 
     FileCount = Directory.GetFiles(FilePath).Length; 
     Files = Directory.GetFiles(FilePath); 

     playlist = axWMPlayer.playlistCollection.newPlaylist("PlaylistName"); 


     for (int Count = 0; Count < FileCount; Count++) 
     { 
      media = axWMPlayer.newMedia(Files[Count]); 
      playlist.appendItem(media); 
     } 

     RunMedia(); 
    } 

    private void RunMedia() 
    { 
     try 
     { 
      if (playlist.count > 0) 
      { 
       axWMPlayer.BringToFront(); 
       axWMPlayer.currentPlaylist = playlist; 
       axWMPlayer.Ctlcontrols.play(); 
       axWMPlayer.stretchToFit = true;     
      } 
      else 
      { 
       pbDefaultImage.BringToFront();      
      } 
     } 

     catch (Exception ex) 
     { 
      LogException(ex);     
     } 
    } 
Verwandte Themen