//</SnippetTimedTextSourceMap> private void AddExternalMetadata() { //<SnippetTimedTextSource> // Create the TimedTextSource and add entry to URI map var timedTextSourceUri_En = new Uri("http://contoso.com/MyClipTimedText_en.srt"); var timedTextSource_En = TimedTextSource.CreateFromUri(timedTextSourceUri_En); timedTextSourceMap[timedTextSource_En] = timedTextSourceUri_En; timedTextSource_En.Resolved += TimedTextSource_Resolved; var timedTextSourceUri_Pt = new Uri("http://contoso.com/MyClipTimedText_pt.srt"); var timedTextSource_Pt = TimedTextSource.CreateFromUri(timedTextSourceUri_Pt); timedTextSourceMap[timedTextSource_Pt] = timedTextSourceUri_Pt; timedTextSource_Pt.Resolved += TimedTextSource_Resolved; // Add the TimedTextSource to the MediaSource mediaSource.ExternalTimedTextSources.Add(timedTextSource_En); mediaSource.ExternalTimedTextSources.Add(timedTextSource_Pt); mediaPlaybackItem = new MediaPlaybackItem(mediaSource); mediaPlaybackItem.TimedMetadataTracksChanged += MediaPlaybackItem_TimedMetadataTracksChanged; mediaElement.SetPlaybackSource(mediaPlaybackItem); //</SnippetTimedTextSource> }
private async void OpenSubtitleFile() { var mediaSource = MediaSource; if (mediaSource == null) { return; } var file = await PickSingleFileAsync(".srt", SUBTITLE_FILE_TOKEN); if (file != null) { MediaSource.ExternalTimedTextSources.Add(TimedTextSource.CreateFromUri($"winrt://{SUBTITLE_FILE_TOKEN}")); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { // Create the media source and supplement with external timed text sources. var source = MediaSource.CreateFromUri(rootPage.UncaptionedMediaUri); msLogger = new MediaSourceLogger(LoggerControl, source); var ttsEnUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_en.srt"); var ttsEn = TimedTextSource.CreateFromUri(ttsEnUri); ttsMap[ttsEn] = ttsEnUri; var ttsPtUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_pt.srt"); var ttsPt = TimedTextSource.CreateFromUri(ttsPtUri); ttsMap[ttsPt] = ttsPtUri; var ttsSvUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_sv.srt"); var ttsSv = TimedTextSource.CreateFromUri(ttsSvUri); ttsMap[ttsSv] = ttsSvUri; ttsEn.Resolved += Tts_Resolved; ttsPt.Resolved += Tts_Resolved; ttsSv.Resolved += Tts_Resolved; source.ExternalTimedTextSources.Add(ttsEn); source.ExternalTimedTextSources.Add(ttsPt); source.ExternalTimedTextSources.Add(ttsSv); // Create the playback item from the source var playbackItem = new MediaPlaybackItem(source); mpiLogger = new MediaPlaybackItemLogger(LoggerControl, playbackItem); // Present the first track playbackItem.TimedMetadataTracksChanged += (item, args) => { LoggerControl.Log($"TimedMetadataTracksChanged, Number of tracks: {item.TimedMetadataTracks.Count}"); playbackItem.TimedMetadataTracks.SetPresentationMode(0, TimedMetadataTrackPresentationMode.PlatformPresented); }; // Set the source to start playback of the item this.mediaPlayerElement.Source = playbackItem; LoggerControl.Log($"Loaded: {rootPage.UncaptionedMediaUri}"); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string movieSource = e.Parameter as string; mediaPlayer.Source = new System.Uri(movieSource); AdaptiveMediaSourceCreationResult result = await AdaptiveMediaSource.CreateFromUriAsync(new System.Uri(movieSource, UriKind.Absolute)); if (result.Status == AdaptiveMediaSourceCreationStatus.Success) { var astream = result.MediaSource; var ttmSource = TimedTextSource.CreateFromUri(new Uri(movieSource)); var mediaSource = MediaSource.CreateFromAdaptiveMediaSource(astream); mediaSource.ExternalTimedTextSources.Add(ttmSource); var mediaElement = new MediaPlaybackItem(mediaSource); mediaPlayer.SetPlaybackSource(mediaElement); movieLoadingRing.IsActive = false; } }
public MediaPlayerView() { this.InitializeComponent(); String mediaFilePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Assets", "jellies.mp4"); String textSourceFilePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Assets", "jellies.srt"); String mediaFileUri = "file:///" + mediaFilePath.Replace('\\', '/'); String textSourceFileUri = "file:///" + textSourceFilePath.Replace('\\', '/'); var source = MediaSource.CreateFromUri(new Uri(mediaFileUri)); _srtTimedTextSource = TimedTextSource.CreateFromUri(new Uri(textSourceFileUri)); _srtTimedTextSource.Resolved += Tts_Resolved; source.ExternalTimedTextSources.Add(_srtTimedTextSource); this.mediaPlayerElement.Source = new MediaPlaybackItem(source); }
public Scenario4() { this.InitializeComponent(); // Create the media source and supplement with external timed text sources var source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-H264_SD-AAC_eng-AAC_spa-AAC_eng_commentary.mp4")); var ttsEnUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_en.srt"); var ttsEn = TimedTextSource.CreateFromUri(ttsEnUri); ttsMap[ttsEn] = ttsEnUri; var ttsPtUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_pt.srt"); var ttsPt = TimedTextSource.CreateFromUri(ttsPtUri); ttsMap[ttsPt] = ttsPtUri; var ttsSvUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_sv.srt"); var ttsSv = TimedTextSource.CreateFromUri(ttsSvUri); ttsMap[ttsSv] = ttsSvUri; ttsEn.Resolved += Tts_Resolved; ttsPt.Resolved += Tts_Resolved; ttsSv.Resolved += Tts_Resolved; source.ExternalTimedTextSources.Add(ttsEn); source.ExternalTimedTextSources.Add(ttsPt); source.ExternalTimedTextSources.Add(ttsSv); // Create the playback item from the source var playbackItem = new MediaPlaybackItem(source); // Present the first track playbackItem.TimedMetadataTracksChanged += (sender, args) => { playbackItem.TimedMetadataTracks.SetPresentationMode(0, TimedMetadataTrackPresentationMode.PlatformPresented); }; // Set the source to start playback of the item this.mediaElement.SetPlaybackSource(playbackItem); }
protected override void OnNavigatedTo(NavigationEventArgs e) { // Create the media source and supplement with external timed text sources var source = MediaSource.CreateFromUri(rootPage.UncaptionedMediaUri); var ttsEnUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_en.srt"); var ttsEn = TimedTextSource.CreateFromUri(ttsEnUri); ttsMap[ttsEn] = ttsEnUri; var ttsPtUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_pt.srt"); var ttsPt = TimedTextSource.CreateFromUri(ttsPtUri); ttsMap[ttsPt] = ttsPtUri; var ttsSvUri = new Uri("ms-appx:///Assets/Media/ElephantsDream-Clip-SRT_sv.srt"); var ttsSv = TimedTextSource.CreateFromUri(ttsSvUri); ttsMap[ttsSv] = ttsSvUri; ttsEn.Resolved += Tts_Resolved; ttsPt.Resolved += Tts_Resolved; ttsSv.Resolved += Tts_Resolved; source.ExternalTimedTextSources.Add(ttsEn); source.ExternalTimedTextSources.Add(ttsPt); source.ExternalTimedTextSources.Add(ttsSv); // Create the playback item from the source var playbackItem = new MediaPlaybackItem(source); // Present the first track playbackItem.TimedMetadataTracksChanged += (sender, args) => { playbackItem.TimedMetadataTracks.SetPresentationMode(0, TimedMetadataTrackPresentationMode.PlatformPresented); }; // Set the source to start playback of the item this.mediaElement.SetPlaybackSource(playbackItem); }