Search code examples
uwpmedia-player

How to know the event when `MediaPlayerElement`'s `TimedTextSource` changed


I'm using MediaPlayerElement. Now I need to know the event when TimedTextSource changed. But I can't find any docs.

enter image description here


Solution

  • If you want to detect the event of TimedTextSource switching, you can listen to the PresentationModeChanged event:

    // source is MediaSource
    var playBackItem = new MediaPlaybackItem(source);
    playBackItem.TimedMetadataTracks.PresentationModeChanged += PresentationChanged;
    
    ...
    
    private void PresentationChanged(MediaPlaybackTimedMetadataTrackList sender, TimedMetadataPresentationModeChangedEventArgs args)
    {
        string currentLanguage = args.Track.Language;
        // do other things...
    }
    

    Thanks.