removeCue()函数后如何刷新TextTrack

时间:2018-10-31 19:27:18

标签: javascript html5-video

删除提示后,它似乎已从提示列表中删除,但仍显示在html5视频中。有没有一种方法可以在删除textTrack后刷新它?我可以添加其他提示,但不能删除它们。

var video = document.getElementById("vid1");
var track = video.textTracks[0];
track.mode = "showing";

var cue = new TextTrackCue(1.121,3.121,"test1");
cue.id = "cue1";
track.addCue(cue);

//some time later
track.removeCue(track.cues.getCueById(cue.id));

编辑:Internet Explorer浏览器,我可以将VTTCue与其他浏览器一起使用,并且那些浏览器可以毫无问题地删除。

Edit2:在进一步调查中,我发现如果要删除的提示在删除时处于活动状态,则会发生这种情况。在这种情况下,它似乎已从提示列表中删除,但从未停止从视频中显示。我现在正在考虑一种可能的解决方案,即在视频中强制寻找一个不同的时间,然后将其删除,然后再寻找回到先前的位置。有人知道在删除标题之前是否有办法先隐藏标题,以免寻找?

1 个答案:

答案 0 :(得分:1)

我注意到音轨具有“模式”属性,可以将其设置为0 =禁用,1 =隐藏,2 =显示。我发现在删除提示之前将模式设置为隐藏在行上即可解决问题。

track.mode = 1;
removeCue(track.cues.getCueById(cue.id));
track.mode = 2;