我正在开发用于播放视频的 UWP 桌面应用程序。我需要在运行时包含字幕,并且我正在尝试使用 Subtitle 类型的 TimedMetadataTrack 对象。尽管我在 TimedMetadataTrack 对象中包含了几个 TimedTextCue 并将此对象添加到 MediaSource 的 ExternalTimedMetadataTracks 集合中,但在 MediaPlayerElement 上播放视频时不会显示任何标题。什么不见了?任何帮助都是最受欢迎的。谢谢。
XAML
<MediaPlayerElement x:Name="mediaPlayerElement"
AutoPlay="False"
Margin="5"
Width="640" Height="480"
HorizontalAlignment="Center"
AreTransportControlsEnabled="True" />
代码背后
var source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/teste.mp4"));
TimedMetadataTrack metadataTrack = new TimedMetadataTrack("ID_0", "en-us", TimedMetadataKind.Subtitle);
for (int i = 0; i < 10; i++)
{
TimedTextCue ttc = new TimedTextCue();
TimedTextLine ttl = new TimedTextLine();
ttl.Text = "This is subtitles line: " + i.ToString() + ".";
ttc.Id = "ID_" + i;
ttc.Lines.Add(ttl);
ttc.StartTime = TimeSpan.FromSeconds((i * 10) + 1);
ttc.Duration = TimeSpan.FromSeconds(10);
metadataTrack.AddCue(ttc);
}
source.ExternalTimedMetadataTracks.Add(metadataTrack);
this.mediaPlayerElement.Source = source;