Как поменять исходный файл титров при переключении на новое видео после player.onPlayerEnded? - PullRequest
0 голосов
/ 08 мая 2019

Я использую vue-video-player (который использует video.js в качестве зависимости), чтобы воспроизвести два видео, причем второе видео воспроизводится, как только событие onEnded отправляется по завершении первого видео.Тем не менее, текстовая дорожка первого видео (заголовок) воспроизводится для второго видео, независимо от того, как сильно я пытаюсь заменить его другим.Есть ли встроенный способ переключения текстовой дорожки в video.js, или есть какой-то способ заставить его сделать это вручную?

Я пытался перезаписать текстовые дорожки, но это не таквозможно, потому что свойство только для чтения.Я попытался нацелиться на dom напрямую, но до сих пор не смог поменять отображаемую текстовую дорожку.

Что мне нужно сделать, чтобы перезаписать или сбросить текстовые дорожки, отображаемые навторое видео?Существуют ли какие-либо методы, встроенные в videojs, которые решают эту проблему, или есть какой-то способ заставить другие треки для второго видео?

Я пробовал это:

    onPlayerEnded(player) {
        this.playerOptions.sources[0].src = this.video2;
        player.textTracks()[0].mode = 'disabled';
        player.textTracks()[1].mode = 'showing';  

    }

Я пробовал это:

    onPlayerEnded(player) {
        // this sets the video 
        this.playerOptions.sources[0].src = this.video2;

        player.textTracks()[0].mode = require('path/to/vtt');
    } 

И я даже попробовал это:

const track = document.querySelector('track');
track.src = this.locale.captionFile;

Я ожидаю, что заголовки второго видео будут отображаться, когда второе видео начнет воспроизводиться.

...