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参数的第一个值

使用单独监听的前提
一个简单的单独监听示例
<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


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

属性类型说明
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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值