从视频中删除 TextTrack

fra*_*llo 5 html javascript html5-video media-source mpeg-dash

有没有一种好方法可以删除TextTrack通过 JavaScript 添加到 HTML5<video>标签的单个标签?下面的代码是如何添加轨道的简单演示,但我还没有找到删除轨道的好方法:

document.querySelector('video#myVideo').addTextTrack(...);
Run Code Online (Sandbox Code Playgroud)

小智 5

没有删除添加的文本轨道的机制(可能是当前规范中的一个缺陷(?)。还有一个onremovetrack事件但是......)。

我们唯一能做的就是禁用或隐藏它。确保您保留对曲目的引用:

var video = document.querySelector('video#myVideo');
var track = video.addTextTrack("...");
...
track.mode = "showing";  // when cues are added and is ready
Run Code Online (Sandbox Code Playgroud)

然后当你不再需要它时:

track.mode = "disabled"; // or "hidden"
Run Code Online (Sandbox Code Playgroud)

(您也可以绕过重置 src,但我还没有尝试过这个..)

  • 是的,这就是我正在做的,我只是想确定目前没有办法解决这个问题。触发 `onremovetrack` 事件的唯一方法是从视频标签中移除 `&lt;track&gt;` 节点,这对于“非 DOM”轨​​道当然是不可能的。 (3认同)