ckplayerjs-api

使用javascript-api需要注意的参数和事项
javascript-api介绍

javascript-api可以做到让js和播放器之间进行通信,实现交互功能。ckplayer提供了大量的接口函数以供使用。比如用js控制自动播放下一集的功能。或者监听当前视频播放失败后重新调用其它视频地址的功能。

使用javascript-api需要注意的参数和事项

使用前需注意,监听共分二种,一种是全部监听,即用一个函数监听所有的状态。另一种是单独监听,只监听指定的动作是否触发。

在使用前需要了解三个参数的作用。如下:

第一个重要参数是:ckplayer.js和ckplayer.xml中的setup的第21个值,该值的作用是否否开启全部监听及监听等级的功能,在正式使用时建议不要开启该功能,因为如果你不熟悉js的话,大量的交互可能导致浏览器的内存消耗,甚至会导致flashplayer插件崩溃。

第二个重要参数是:var flashvars={}里的b值,如果你不使用交互,请将b设置成1

第三人重要参数是:var flashvars={}里的loaded值,如果要使用单独监听的话需要使用到该值,因为监听播放器的前提是要等播放器加载完成再给播放器发送监听函数。

javascript-api
全部监听-api的使用

首先要确认ckplayer.js或ckplayer.xml里的setup参数的第21个值>0

然后调用播放器页面里要存在如下js函数代码
javascript 

function ckplayer_status(str){    str=监听到的状态及值}

这个函数也是可以自定义的,定义的方法是ckplayer.js(ckplayer.xml)中的calljs参数的第一个值

使用单独监听的前提
一个简单的单独监听示例


   
 function loadedHandler(){      
  if(CKobject.getObjectById('ckplayer_a1').getType()){    
        alert('播放器已加载,调用的是HTML5播放模块');          
  CKobject.getObjectById('ckplayer_a1').addListener('play',playHandler);    
    }        else{         
   alert('播放器已加载,调用的是Flash播放模块');         
   CKobject.getObjectById('ckplayer_a1').addListener('play','playHandler');    
    }    }  
  function playHandler()[        alert('播放了');    ]   
 var flashvars={     
   f:' http://movie.ks.js.cn/flv/other/2014/06/20-2.flv',     
   c:0,    
    loaded:'loadedHandler'    };   
 var video=[' http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4']; 
   CKobject.embed('ckplayer/ckplayer.swf','a1','ckplayer_a1','100%','100%',false,flashvars,video,params);

本示例演示了监听播放器是否播放的监听功能,当播放器播放时会调用js函数:playHandler()。

需要注意的就是添加监听要在flash和html5环境中分开添加。所以上面的代码添加了二次监听。

可以添加监听,就可以删除监听,如下是删除监听的代码示例:

CKobject.getObjectById('ckplayer_a1').removeListener('play',playHandler);//html5下的删除监听CKobject.getObjectById('ckplayer_a1').removeListener('play','playHandler');//flash环境中的删除监听

监听属性列表
属性 功能说明 flash html5
加载部分
plugLoadError:String 插件加载失败:插件名称  
前置广告部分
frontAdContinue 前置广告运行中  
frontAdPause 前置广告暂停  
frontAdNext 开始加载下一个广告  
frontAdEnd 前置广告播放结束  
frontAdMuted:Boolean 前置广告是否有声音:true/false  
frontAdError:String 前置广告加载失败:加载失败的广告地址  
frontAdStart:String 前置广告加载成功并开始播放:广告地址  
frontAdSkip 跳过前置广告  
视频部分
newVideo 开始建立一个新的视频播放程序  
videoLoad 开始分析视频加载方式  
error 视频加载失败
sendNetStream 接收到视频流,说明视频加载成功,随时可以播放
loadedmetadata 分析出视频元数据信息
ended 视频播放结束
totaltime:Number 视频总时间:秒,精确到小数点后三位
time:Number 视频已播放时间:秒,精确到小数点后三位
totalbytes:Number 视频总大小:字节
bytes:Number 已加载字节
loadComplete 视频加载结束
speed:Number 视频单位时间内加载的字节数  
buffer:int 缓冲百分比:0-100,接收到100时说明本次缓冲结束  
bounceTime:Number 鼠标在进度条上松开时的时间点  
play 播放
pause 暂停
paused:Boolean 是否暂停:true/false
seeking:Number 跳转的时间:秒
fastNext 快进  
fastBack 快退  
videoClear 视频被清除  
muted:Boolean 是否静音:true/false  
volumechange:int 改变了音量:0-100  
视频画面处理
coordinateChange:Array 视频区域被改变,比如隐藏/显示控制栏,全屏/退出全屏时都会触发,返回一个数组[x,y,width,height]  
brightnessChange:int 改变了亮度值,值的大小是 -255--255   0为中间值  
contrastChange:int 改变了对比度值,值的大小是 -255--255  127.5为中间值  
saturationChange:int 改变了饱和度值,值的大小是 -255--255,1为中间值,0为灰度值  
sethueChange:int 改变了色相值,值的大小是 -255--255  0为中间值  
文字广告部分
changeMarquee 文字广告内容被改变  
marqueeError 文字广告加载出错  
marqueeLoaded 文字广告加载成功  
marqueeClose 文字广告关闭  
播放器交互
myObjectChange:Object 自定义的对象发生改变  
flashvarsChange:Object flashvars对象发生改变  
styleChange 配置参数发生改变  
addListenerReplace 添加了一个监听  
addListenerError 添加了错误的监听  
removeListenerError 移除监听出错  
其它
resize 播放器尺寸发生改变  
controlBarShow:Boolean 控制栏是否显示  
一个控制播放器的函数示例


    
var flashvars={     
   f:' http://movie.ks.js.cn/flv/other/2014/06/20-2.flv',      
  c:0,     
   loaded:'loadedHandler'   
 };  
  var video=[' http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4'];  
  CKobject.embed('ckplayer/ckplayer.swf','a1','ckplayer_a1','100%','100%',false,flashvars,video,params);

CKobject.getObjectById是获取播放器ID的函数。

playOrPause()是控制播放器播放/暂停的api


控制(交互)播放器函数列表
函数名称 功能说明 flash html5
getType() 判断播放器类型,true=HTML5播放器,false=flash播放器
videoPlay() 播放视频
videoPause() 暂停视频
playOrPause() 播放/暂停视频切换
fastNext() 快进
fastBack() 快退
changeStatus(int) 改变监听等级,=0则停止监听
getStatus() 获取播放器当前各项属性,包括视频的宽高,时长,位置等信息 ,信息的具体值在下方列出。
videoSeek(int) 跳转的秒数
changeVolume(int) 改变音量(0-100)
frontAdPause(Boolean) 暂停/继续播放前置广告  
frontAdUnload() 跳过前置广告  
changeFace(Boolean) 是否隐藏控制栏,true隐藏,false显示  
plugin() plugin(name: String, show: Boolean = true, w: int = -1, h: int = -1, x: int = -1, y: int = -1, index: int = -1)
控制插件(插件名称,是否显示,插件的宽,插件的高,插件的x坐标,插件的y坐标,插件的深度)
 
plugAttribute(String) 获取插件属性,plugAttribute(插件名称),返回一个对象,包括
         {
         exist:是否存在该插件          
         x:x坐标
         y:y坐标
         width:宽
         height:高
         show:是否显示          
         }
 
videoClear() 清除视频
newAddress() 重新加载新视频,例:newAddress('{f->视频地址}{s->0}')
promptUnload() 清除提示点  
changeFlashvars(String) 动态改变flashvars的值,如changeFlashvars('{d->广告地址}')  
changeStyle(String,String) 改变配置属性,changeStyle(属性名称,属性值)  
promptLoad() 重新加载提示点,在此之前可以通过changeFlashvars改变提示点内容  
marqueeClose() 关闭滚动文字广告  
marqueeLoad(true,String) 改变滚动文字广告内容,marqueeLoad(true,'新内容')  
videoBrightness(int) 设置亮度值,值的大小是 -255--255   0为中间值,向右为亮向左为暗。  
videoContrast(Number) 设置对比度值,值的大小是 -255--255  127.5为中间值,向右对比鲜明向左对比偏暗。  
videoSaturation(int) 设置饱和度值,值的大小是 -255--255   1为中间值,0为灰度值(即黑白相片)。  
videoSetHue(int) 设置色相值,值的大小是 -255--255  0为中间值,向右向左一试便知。  
videoWAndH(int,int) 按比例调节视频比例,videoWAndH(110,120),即把宽度增加到110%,高度增加到120%  
videoWHXY(int,int,int,int) 调整视频长宽,坐标,videoWHXY(宽,高,x坐标,y坐标)  
formatUrl(String) 替换网址,即把该网址和flashvars里的a值进行组装  
screenShot(style,x1,y1,x2,y2):Object

截图,style(字符类型:video=截取视频,all=截取播放器),x1,y1指左边和上方切掉的距离,x2,y2是右边和下方切掉的距离
例:screenShot("video",0,0,0,0)截取视频图片,
返回一个对象Object{BitmapData:位图,ByteArray:二进制}
下面演示了一个用JPGEncoder组件截图的简单示例关键代码
var imgObj:Object=ck.screenShot("video",0,0,0,0);
var encoderjpg:JPGEncoder = new JPGEncoder();
var bytes:ByteArray = encoderjpg.encode(imgObj.BitmapData);

该功能仅支持as3,不支持javascript

 

getStatus()返回的属性

属性 类型 说明
width Int 播放器宽
height Int 播放器高
vwidth Int 视频展示的宽
vheight Int 视频展示的高
awidth Int 视频宽
aheight Int 视频高
videox Int 视频在播放器中的x坐标
videoy Int 视频在播放器中的y坐标
time Number 当前播放时间
totalTime Number 视频总时间
byte Int 当前加载字节
totalBytes Int 视频总字节
speed Int 视频加载速度,默认是:字节/250毫秒
volume Int 当前音量
play Boolean 是否播放
mute Boolean 是否静音
buffer Int 缓冲值
mouse Array 鼠标位置
myflashvars Object flashvars值
myStyle Object 配置参数的对象,包含风格等信息,语言包信息
myObject Object 自定义对象
controlBarShow Boolean 控制栏是否显示状态

你可能感兴趣的:(CKplayer)