ckplayerjs-api

来源:互联网 发布:手机淘宝积分有什么用 编辑:程序博客网 时间:2024/06/06 11:30
使用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参数的第一个值

使用单独监听的前提
一个简单的单独监听示例
<div id="a1"></div>
<script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
<script type="text/javascript">   
 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);</script>

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

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

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

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

监听属性列表
属性功能说明flashhtml5加载部分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:Objectflashvars对象发生改变是 styleChange配置参数发生改变是 addListenerReplace添加了一个监听是 addListenerError添加了错误的监听是 removeListenerError移除监听出错是 其它resize播放器尺寸发生改变是 controlBarShow:Boolean控制栏是否显示是 
一个控制播放器的函数示例
<div id="a1"></div>
<script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
<script type="text/javascript">    
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);</script><input type="button" name="button7" value="播放/暂停" onClick="CKobject.getObjectById('ckplayer_a1').playOrPause();" />

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

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


控制(交互)播放器函数列表
函数名称功能说明flashhtml5getType()判断播放器类型,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()返回的属性

属性类型说明widthInt播放器宽heightInt播放器高vwidthInt视频展示的宽vheightInt视频展示的高awidthInt视频宽aheightInt视频高videoxInt视频在播放器中的x坐标videoyInt视频在播放器中的y坐标timeNumber当前播放时间totalTimeNumber视频总时间byteInt当前加载字节totalBytesInt视频总字节speedInt视频加载速度,默认是:字节/250毫秒volumeInt当前音量playBoolean是否播放muteBoolean是否静音bufferInt缓冲值mouseArray鼠标位置myflashvarsObjectflashvars值myStyleObject配置参数的对象,包含风格等信息,语言包信息myObjectObject自定义对象controlBarShowBoolean控制栏是否显示状态
0 0
原创粉丝点击