如何将指定的 TimedTextSource 设置为默认值?

How to set specified TimedTextSource as default?

我正在使用 MediaPlayElement,并且我已经设置了媒体源。 现在我想加几个Closed Captions,比如英文,印文,简体中文

我使用下面的代码添加了TimedTextSource,它们都放在了媒体播放器中,但是打开媒体时如何指定一个项目为打开?

var timedTextSource = TimedTextSource.CreateFromUri(new Uri(item.url), item.name);
mediaSource.ExternalTimedTextSources.Add(timedTextSource);

您可以像这样尝试使用 TimedMetadataTracks.SetPresentationMode

// ms: An instance of MediaSource
// mplayer: MediaPlayerElement
// this code is after add the TimedTextSource

var playbackItem = new MediaPlaybackItem(ms);
var player = new MediaPlayer();
player.Source = playbackItem;
player.BufferingStarted += (_s, _e) =>
{
    playbackItem.TimedMetadataTracks.SetPresentationMode(0, TimedMetadataTrackPresentationMode.PlatformPresented);
};
mplayer.SetMediaPlayer(player);

该方法是在视频开始缓冲时主动切换文字轨道

此致。