После удаления реплики она кажется удаленной из списка реплик, но по-прежнему отображается в 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: После дальнейшего расследования я обнаружил, что это происходит, если реплика, которую я хочу удалить, активна в то время, когда я ее удаляю. В таком случае кажется, что он удаляется из списка сигналов, но никогда не перестает отображаться в видео. Теперь я думаю, что возможное решение - заставить искать другое время в видео, затем удалить, а затем вернуться к предыдущей позиции. Кто-нибудь знает, есть ли способ сначала скрыть подпись, прежде чем я ее удалю, чтобы не искать?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я заметил, что есть свойство "режим" треков, которое может быть установлено на 0 = отключено, 1 = скрыто, 2 = отображается. Я обнаружил, что установка режима на скрытый в строке перед удалением реплики решает проблему.
track.mode = 'hidden';
removeCue(track.cues.getCueById(cue.id));
track.mode = 'showing';
Для всех, кто приходит сюда за решением - вместо track.mode = 1; используйте track.mode = 'hidden'; И вместо track.mode = 2; используйте track.mode = 'show'; developer.mozilla.org/en-US/docs/Web/API/TextTrack/mode
Мой ответ на самом деле ненадежен, так как он иногда работает, а иногда нет ... кто-нибудь знает, почему?