VideoJS не проигрывает после паузы RTMP прямой эфир

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

<video id="videoID" class="video-js vjs-default-skin vjs-big-play-centered" poster="/images/image.png"  controls="controls" width="320" height="240" data-setup='{"techOrder": ["flash"]}'>
<source src="rtmp://www.myhost.com:1935/live/live.stream" type="rtmp/mp4" />
</video>

Есть ли какой-нибудь способ сделать остановку или перезагрузку VideoJS при появлении приостановленного события?

РЕДАКТИРОВАТЬ: я столкнулся с решением с помощью этого сценария:

<script type="text/javascript">
var myPlayer = videojs('videoID');
videojs("videoID").ready(function(){
var myPlayer = this;
myPlayer.on("pause", function () {
myPlayer.on("play", function () { myPlayer.load (); myPlayer.off("play"); });
});
});
</script>

1 ответ

Итак, я нашел решение. Вместо удаления всех событий воспроизведения из плеера вам просто нужно отредактировать событие flash play внутри video.dev.js в строке 7337 (я думаю, что в версии 4.11.4). это строка, которая говорит:

vjs.Flash.prototype.play = function(){
    this.el_.vjs_play();
};

это должно быть изменено, чтобы сказать:

vjs.Flash.prototype.play = function(){
    this.el_.vjs_load();
    this.el_.vjs_play();
};

так что событие загрузки вызывается до события воспроизведения.

Я нашел решение здесь

$(document).ready(function(){
    var player = videojs('really-cool-video', { /* Options */}, function () {
        // ...

        var player = this;
        player.on("pause", function () {
            player.one("play", function () {
                player.load();
                player.play();
            });
        });
    });
});
Другие вопросы по тегам