我正在尝试从jw5迁移到jw6。在jw5中,我在播放器设置中包含了事件回调。例如:
var myplayer = jwplayer('container').setup({
flashplayer: /my/player.swf',
height: '100%',
width: '100%',
events: {
'onReady': function(event) {
alert ("on ready");
},
'onPlay': function(event) {
alert ("on play");
},
}
});
根据jw5到jw6的迁移documentation,似乎我不能再在播放器设置中包含事件回调:
已移除:事件配置块 这种添加事件侦听器的方式完全是冗余的,在功能和所需代码量方面都可以在设置之外添加侦听器。
如果我理解正确,我应该以这种方式指定事件回调:
myplayer.onReady( function(event){
alert('on ready');
});
myplayer.onPlay( function(event){
alert('on play');
});
我的问题:
在我看来,我需要等待myplayer对象准备就绪,然后才能定义这些myplayer事件回调。真正?如果我无法在设置中指定onReady事件回调,我如何知道myplayer何时准备就绪?
答案 0 :(得分:10)
在JWPlayer6中,您可以像添加其他事件一样添加onReady
事件处理程序。这对我有用:
var playerInstance = jwplayer("myElement").setup({
file: "test.mp4"
});
playerInstance.onReady(function() {
console.log('ready');
playerInstance.onPlay(function() {
console.log('playing');
});
playerInstance.play();
});
答案 1 :(得分:0)
第一个问题是,你的最后一个代码块中有一个拼写错误:它应该是myplayer.onReady()
; - )
此外,事件处理程序一旦进行就会连接到相应的对象。
所以我认为你应该简单地设置你的jwplayer和onReady
& onPlay
个$(document).ready()
个事件。
我认为这应该按预期工作。