ckplayerjs-api
来源:互联网 发布:手机淘宝积分有什么用 编辑:程序博客网 时间:2024/06/06 11:30
javascript-api可以做到让js和播放器之间进行通信,实现交互功能。ckplayer提供了大量的接口函数以供使用。比如用js控制自动播放下一集的功能。或者监听当前视频播放失败后重新调用其它视频地址的功能。
使用前需注意,监听共分二种,一种是全部监听,即用一个函数监听所有的状态。另一种是单独监听,只监听指定的动作是否触发。
在使用前需要了解三个参数的作用。如下:
第一个重要参数是:ckplayer.js和ckplayer.xml中的setup的第21个值,该值的作用是否否开启全部监听及监听等级的功能,在正式使用时建议不要开启该功能,因为如果你不熟悉js的话,大量的交互可能导致浏览器的内存消耗,甚至会导致flashplayer插件崩溃。
第二个重要参数是:var flashvars={}里的b值,如果你不使用交互,请将b设置成1
第三人重要参数是:var flashvars={}里的loaded值,如果要使用单独监听的话需要使用到该值,因为监听播放器的前提是要等播放器加载完成再给播放器发送监听函数。
首先要确认ckplayer.js或ckplayer.xml里的setup参数的第21个值>0
然后调用播放器页面里要存在如下js函数代码
javascript
这个函数也是可以自定义的,定义的方法是ckplayer.js(ckplayer.xml)中的calljs参数的第一个值
<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环境中分开添加。所以上面的代码添加了二次监听。
可以添加监听,就可以删除监听,如下是删除监听的代码示例:
<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
控制插件(插件名称,是否显示,插件的宽,插件的高,插件的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控制栏是否显示状态- ckplayerjs-api
- API
- api
- API
- API
- api
- API
- API
- API
- API
- API
- API
- API
- API
- API
- api
- api
- API
- Mysql tinyint长度为1时在java中被转化成boolean型
- Spring Boot(1)-快速构建应用
- Linux的启动流程
- 排序算法入门之冒泡排序
- [BZOJ 1975][Sdoi2010]魔法猪学院
- ckplayerjs-api
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- Docker基础技术:AUFS
- oracle sqlloader安装及使用
- java的精髓要点!
- Oracle中Clob类型处理解析
- Java Native
- 子线程能否更新UI
- 三色球问题