JWPlayer 4 javascript事件被忽略

时间:2011-09-30 15:53:19

标签: javascript javascript-events jwplayer

首先,我无法升级到较新版本的播放器,因为我需要displayclick = fullscreen选项才能工作,而且版本5不适用。

所以,我需要做的是:让播放器自动启动,没有音量,页面上没有控件(这很好用),当用户点击屏幕时,播放器必须全屏显示,音量必须转上。

问题是所有javascript交互似乎都被玩家完全忽略了,我真的看不出问题所在。

加载页面后,我嵌入了播放器:

var so = new SWFObject('path_to_player.swf','div_id','200','120','10');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','sameDomain');
so.addParam('bgcolor','#000000');

so.addParam('flashvars','file=path_to_playlist.xml&autostart=true&displayclick=fullscreen&controlbar=none&volume=0&icons=false&image=path_to_thumb.jpg');
so.write('div_id');

这似乎工作正常,玩家正在加载。

然后我添加事件监听器:

var player = null;
function playerReady(p) {
    player = document.getElementById(p.id);
    addListeners();
}

function addListeners() {
    if (player) {
        console.log('add the listener');
        console.log(player.getConfig().volume);
        player.addControllerListener("RESIZE", "checkResize");
    } else {
        setTimeout("addListeners()", 100);
    }
}

function checkResize(obj) { 
    console.log('resized');
    if (obj.fullscreen) { 
        player.sendEvent("VOLUME", "60");
    } else { 
        player.sendEvent("VOLUME", 0);
    }
}

“添加监听器”消息显示在控制台中,但第二个消息显示在播放器中,而播放器进入或退出全屏时,“调整大小”消息也没有显示(显然,音量无法开启)。

我为模型和控制器尝试了其他听众,但它们似乎没有用。发送事件也不起作用。

我已经尝试单独运行播放器的代码,以确保没有其他事情干扰代码,但我仍然遇到同样的问题。

1 个答案:

答案 0 :(得分:0)

好吧,似乎我自己找到了答案。升级到更新版本的swfobject并使用swfobject.embedSWF()似乎工作正常。