Как я могу открыть файл списка воспроизведения с помощью С# wmp

Когда я использую Player.playlistCollection.newPlaylist("name"), он создает файл name.wpl в каталоге списка воспроизведения по умолчанию (C:\Users\username\Music\Playlists). Как я могу открыть этот файл при перезапуске приложения и передать его в проигрыватель?


person botiapa    schedule 20.07.2017    source источник


Ответы (3)


Вот пример. Здесь я получаю файл из папки «Видео» в папке приложения, создаю список воспроизведения и играю в цикле.

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);                
        }
    }
person SH7    schedule 20.07.2017

Я решил это, создав собственные файлы списка воспроизведения, где каждая строка является 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;
        }
    }
person botiapa    schedule 20.07.2017

Создайте файл настроек .ini в каталоге вашего приложения. Сохраните там путь к вашему плейлисту. Затем, когда программа запустится, прочитайте файл настроек и получите путь к вашему плейлисту.

person Sv Sv    schedule 20.07.2017
comment
Хорошо, но как открыть файлы списка воспроизведения? - person botiapa; 20.07.2017
comment
Запустите плеер с параметром. Типа: aimp.exe путь_к_файлу/файлу - person Sv Sv; 20.07.2017