/// <summary> /// Creates a playlist with the audio picked by the user in the FilePicker /// </summary> /// <param name="sender"></param> /// <param name="e"></param> async private void PickAudioButton_Click(object sender, RoutedEventArgs e) { FileOpenPicker picker = MainPage.CreateFilePicker(MainPage.audioExtensions); IReadOnlyList <StorageFile> files = await picker.PickMultipleFilesAsync(); if (files.Count > 0) { Playlist playlist = new Playlist(); foreach (StorageFile file in files) { playlist.Files.Add(file); } StorageFolder folder = KnownFolders.MusicLibrary; string name = "Sample"; NameCollisionOption collisionOption = NameCollisionOption.ReplaceExisting; PlaylistFormat format = PlaylistFormat.WindowsMedia; try { StorageFile savedFile = await playlist.SaveAsAsync(folder, name, collisionOption, format); this.rootPage.NotifyUser(savedFile.Name + " was created and saved with " + files.Count + " files.", NotifyType.StatusMessage); } catch (Exception error) { rootPage.NotifyUser(error.Message, NotifyType.ErrorMessage); } } else { rootPage.NotifyUser("No files picked.", NotifyType.ErrorMessage); } }
/// <summary> /// Adds a file to the end of the playlist loaded in PickPlaylistButton_Click /// </summary> /// <param name="sender"></param> /// <param name="e"></param> async private void PickAudioButton_Click(object sender, RoutedEventArgs e) { FileOpenPicker picker = MainPage.CreateFilePicker(MainPage.audioExtensions); IReadOnlyList <StorageFile> files = await picker.PickMultipleFilesAsync(); if (files.Count > 0) { foreach (StorageFile file in files) { this.playlist.Files.Add(file); } if (await rootPage.TrySavePlaylistAsync(playlist)) { rootPage.NotifyUser(files.Count + " files added to playlist.", NotifyType.StatusMessage); } } else { rootPage.NotifyUser("No files picked.", NotifyType.ErrorMessage); } }