我正在尝试以预定的开始时间显示VOD,但我无法找到如何执行此操作。 Bitmovin网站列出了播放器API函数,但没有任何教程如何使用它们。
我有SEEK,但我不知道它为什么不起作用?
它播放视频但是从0秒而不是40秒开始。
<div id="player"></div>
<script type="text/javascript">
var conf = {
key: "XXXXXXXXXXXXXXXXXXXX",
source: {
progressive: "http://example.com/somevid.mp4",
poster: "http://example.com/someimage.jpg",
},
playback : {
autoplay : true,
seek: 40,
},
events: {
onPlay : function() {
// alert("I am Playing!");
},
},
};
var player = bitdash('player');
player.setup(conf).then(function(value) {
// Success
console.log('Successfully created bitdash player instance');
}, function(reason) {
// Error!
console.log('Error while creating bitdash player instance');
});
</script>
答案 0 :(得分:1)
据我所知,&#34;寻求&#34;属性在播放器配置中无效 - 它也未在documentation中说明。因此,为了实现所需的行为,您很可能必须使用API并在播放器实例上调用.seek(x)命令。
但可能有另一种方法可以做到这一点。也许最好直接与Bitmovin取得联系 - 我发现他们的支持团队非常敏感。
答案 1 :(得分:1)
在播放器配置中,您可以指定回放开始时的回调函数(onPlay
),并在此函数内使用seek(pos)
播放器API函数以秒为单位寻找所需位置。
例如:
var conf = {
key:"XXXXXXXXXXXXXXXXXXXX",
source: {
progressive: "http://example.com/somevid.mp4",
poster: "http://example.com/someimage.jpg",
},
playback: {
autoplay: true
},
events: {
onPlay: function() {
// seek to desired start position
this.seek(40);
}
}
};
附注:内部事件回调this
关键字绑定到玩家对象。
每次用户暂停播放时,前一种方法都将寻求秒40,然后再次继续播放,因为每次用户继续播放时都会触发onPlay
事件。为避免这种情况,更好的方法是:
var conf = {
key:"XXXXXXXXXXXXXXXXXXXX",
source: {
progressive: "http://example.com/somevid.mp4",
poster: "http://example.com/someimage.jpg",
},
playback: {
autoplay: true
},
events: {
onReady: function() {
this.addEventHandler('onPlay', seekToStart);
}
}
};
function seekToStart() {
// remove event handler after first seek to avoid seeking
// to specified the position when user pauses and plays again
this.removeEventHandler('onPlay', seekToStart);
// seek to desired start position
this.seek(40);
}
答案 2 :(得分:0)
就像Stefan提到在onReady中直接使用seek()一样,它对我有用。即使我的问题是不同的自动播放不能在IE11 Win7中工作,我使用下面的黑客强行启动它。
events: {
onReady: function() {
this.seek(0);
}
}