/// <summary> /// Handler for the system transport controls button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void SystemMediaControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs e) { switch (e.Button) { case SystemMediaTransportControlsButton.Play: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { Scenario6MediaElement.Play(); }); break; case SystemMediaTransportControlsButton.Pause: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { Scenario6MediaElement.Pause(); }); break; case SystemMediaTransportControlsButton.Stop: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { Scenario6MediaElement.Stop(); }); break; default: break; } }
/// <summary> /// Click handler for the "Select a media file" button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OpenFileButton_Click(object sender, RoutedEventArgs e) { FileOpenPicker fileOpenPicker = new FileOpenPicker(); // Filter to include a sample subset of file types fileOpenPicker.FileTypeFilter.Add(".wmv"); fileOpenPicker.FileTypeFilter.Add(".mp4"); fileOpenPicker.FileTypeFilter.Add(".mp3"); fileOpenPicker.FileTypeFilter.Add(".wma"); fileOpenPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await fileOpenPicker.PickSingleFileAsync(); // Ensure a file was selected if (file != null) { MediaPlaybackType mediaPlaybackType; if ((file.FileType == ".mp4") || (file.FileType == ".wmv")) { mediaPlaybackType = MediaPlaybackType.Video; } else { mediaPlaybackType = MediaPlaybackType.Music; } // Inform the system transport controls of the media information if (!(await systemMediaControls.DisplayUpdater.CopyFromFileAsync(mediaPlaybackType, file))) { // Problem extracting metadata- just clear everything systemMediaControls.DisplayUpdater.ClearAll(); } systemMediaControls.DisplayUpdater.Update(); IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read); // Set the selected file as the MediaElement's source Scenario6MediaElement.SetSource(stream, file.ContentType); } }