Ejemplo n.º 1
0
        //</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>
        }
Ejemplo n.º 2
0
        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}");
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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);
        }