В этой статье объясняется, как добавить конечную заставку или оверлей в конце видео на videojs. Существует несколько плагинов videojs для конечного экрана, таких как videojs-endcard и videojs -hibitedvideoendcap. Однако в то время эти плагины не были совместимы с react. Поэтому мы решили реализовать его в React. Этот пример также можно использовать как пример реализации videojs в React js. (videojs в реакции js)

Демо здесь

Сначала был создан видеокомпонент.

Затем компонент был импортирован на нужную страницу.

Данные конечной заставки могут быть взяты из внутреннего вызова с необходимыми деталями, которые упоминаются как свойство endScreenData в компоненте Player.

Затем, вернувшись в видеокомпонент, в состояние isEnd добавлен флаг.

this.state = { isEnd: false };

После, чтобы изменить флаг при срабатывании события «завершено», было реализовано следующее.

this.player.on('ended', () => {     
 this.setState({ isEnd: true });      
});

Наконец, при рендеринге был добавлен оверлей, когда состояние isEnd истинно.

Вот окончательный результат.

Демо

Конечный компонент видео

Надеюсь, это было полезно для вас.

Хочу поблагодарить Zhang Ji Zhen за помощь в реализации.