我正在使用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>
答案 0 :(得分:3)
好的,我找到了解决方案。您不需要从播放器中剥离所有播放事件,而是需要在7337行(在我认为的版本4.11.4中)中编辑video.dev.js中的flash播放事件。这就是说:
vjs.Flash.prototype.play = function(){
this.el_.vjs_play();
};
应该改为:
vjs.Flash.prototype.play = function(){
this.el_.vjs_load();
this.el_.vjs_play();
};
以便在播放事件之前调用load事件。
答案 1 :(得分:0)
我在这里找到了解决方法
$(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();
});
});
});
});