暂停RTMP直播后,VideoJS无法播放

Iva*_*nez 5 rtmp html5-video video.js

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

当暂停事件出现时,有任何方法可以停止或重新加载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>
Run Code Online (Sandbox Code Playgroud)

okw*_*wme 4

好的,我找到了解决方案。实际上,您不需要从播放器中剥离所有播放事件,您实际上只需要编辑 video.dev.js 中第 7337 行的 Flash 播放事件(我认为是在 4.11.4 版本中)。这句话说:

vjs.Flash.prototype.play = function(){
    this.el_.vjs_play();
};
Run Code Online (Sandbox Code Playgroud)

应改为:

vjs.Flash.prototype.play = function(){
    this.el_.vjs_load();
    this.el_.vjs_play();
};
Run Code Online (Sandbox Code Playgroud)

以便在播放事件之前调用加载事件。