【问题标题】:How can I open a playlist file using c# wmp如何使用 c# wmp 打开播放列表文件
【发布时间】:2017-07-20 08:19:34
【问题描述】:

当我使用Player.playlistCollection.newPlaylist("name") 时,它会在默认播放列表目录 (C:\Users\username\Music\Playlists) 中创建一个 name.wpl 文件。重新启动应用程序并将其传递给播放器时如何打开此文件?

【问题讨论】:

    标签: c# playlist wmp wmplib


    【解决方案1】:

    这是一个例子。在这里,我从应用程序文件夹中的“视频”文件夹获取文件并创建播放列表并循环播放

    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);                
            }
        }
    

    【讨论】:

      【解决方案2】:

      我通过创建自定义播放列表文件解决了这个问题,其中每一行都是一个媒体文件 url。所以当应用程序启动时,它会逐行读取文件并将其添加到 wmp 播放列表中。

          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;
              }
          }
      

      【讨论】:

        【解决方案3】:

        在您的应用目录中创建一些 .ini 设置文件。将播放列表的路径保存在其中。然后,当程序启动时,读取您的设置文件并获取播放列表的路径。

        【讨论】:

        • 好的,但是打开播放列表文件的方法是什么?
        • 使用参数启动播放器。比如:aimp.exe "path_to_file/file"
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多