JW Player目前最新版本是5.0版本,提供了Javascript接口和ActionScript接口,可以实现对视频的控制,列举几个对视频的控制。
系统使用的JW player版本是4.5,然后播放器控制用到swfobject.js:
创建播放器:
var plyr =null; var flashvars = { foo : 'bar', fullscreen : 'true', playlist : 'none', plugins : '/swfobject/pausetxt_plugin', n_pausetxt : '', skin:'/swfobject/modieus.swf' }; var params = { bgcolor : '#ffffff', allowfullscreen : 'true', allowscriptaccess : 'always', wmode : 'opaque' }; var attributes = { id : 'player', name : 'player' }; // 'container'是显示播放器的DIV function createplayer(url) { if(plyr==null){ flashvars["file"] = url swfobject.embedSWF('/swfobject/player-viral.swf', 'container', '310', '260', '9.0.0', false, flashvars, params, attributes); }else{ plyr.sendEvent("LOAD", url); plyr.sendEvent("PLAY",true) } }
回调PlayReady方法:
function playerReady(obj) { var id = obj['id']; var version = obj['version']; var client = obj['client']; plyr = getPlayer(id); plyr.addModelListener("STATE", "stateTracker"); //对状态进行监控 }; //状态监控回调函数 function stateTracker(obj) { if (obj["newstate"] == "PAUSED") { plyr.sendEvent("PAUSE", true); } if (obj["newstate"] == "COMPLETED") { //do something } if (obj["newstate"] == "PLAYING") { //do something } }
plyr.addModelListener就是添加Model事件,除了可以添加Model事件之外,还可以添加View事件和Controller事件。
更多的事件看官方API文档:
http://developer.longtailvideo.com/trac/wiki/Player4Events