UWP Mediaplaylist

Im ersten Teil wurde ein Mediaplayer in den Background geschickt. Nun soll eine ganze Liste von Liedern abgespielt werden. Dabei füllt sich die Playbackliste in diesem Fall erst stückweise, da die Lieder aus dem Internet geladen werden. Dafür braucht man ein MediaPlayer Objekt und die Liste

   1:  Public mediaplay As MediaPlayer
   2:  Public playbackList As MediaPlaybackList

Im XAML wird allerdings ein MediaPlayerElement deklariert (neu in Windows 10 build 14393). Das Control  MPE genannt.

   1:  playbackList = New MediaPlaybackList()
   2:  playbackList.ShuffleEnabled = True
   3:  playbackList.AutoRepeatEnabled = True
   4:  mediaplay = New MediaPlayer()
   5:  mediaplay.Source = playbackList
   6:  MPE.SetMediaPlayer(mediaplay)
   7:  MPE.AutoPlay = True

Nun kommt eine neue Musik Datei hinzu, in dieser App, weil ein Download im Hintergrund abgeschlossen wurde. Mit dem Dateinamen wird ein Objekt vom Typ StorageItem erzeugt. Eigentlich in der Musiclibrary. Daraus instanziert man ein Objekt vom Typ Mediasource, das zum MediaPlayBackItem wird und auf der Liste landet.

   1:   saveFile = Await KnownFolders.PicturesLibrary.TryGetItemAsync(datei)
   2:  ....
   3:  Dim ms = MediaSource.CreateFromStorageFile(saveFile)
   4:  Dim bpi = New MediaPlaybackItem(ms)
   5:  playbackList.Items.Add(bpi)

Da es sich dabei eigentlich um Betriebssystem API Calls handelt, wird die aktualisierte Leiste auch an den OS Player aktualisiert. Man benötigt also keinen MVVM Ansatz mit Viewmodel.

Kommentare sind geschlossen