private async void LoadSubtitleFileFFmpeg(object sender, RoutedEventArgs e) { if (FFmpegMSS != null) { try { FileOpenPicker filePicker = new FileOpenPicker(); filePicker.ViewMode = PickerViewMode.Thumbnail; filePicker.SuggestedStartLocation = PickerLocationId.VideosLibrary; filePicker.FileTypeFilter.Add("*"); // Show file picker so user can select a file StorageFile file = await filePicker.PickSingleFileAsync(); if (playbackItem != null) { playbackItem.TimedMetadataTracksChanged += PlaybackItem_TimedMetadataTracksChanged; } if (file != null) { var stream = await file.OpenReadAsync(); await FFmpegMSS.AddExternalSubtitleAsync(stream, file.Name); } } catch (Exception ex) { await DisplayErrorMessage(ex.ToString()); } } else { await DisplayErrorMessage("Please open a media file before loading an external subtitle for it."); } }