代码执行过程中会首行调用ckplayer播放器,接着判断平台类型,如果符合使用html5播放器的条件时,就调用html5播放器代码部分。请注意,本例中调用ckplayer的代码是使用的adobe的js函数swfobject。如果使用ckplayer的js函数调用,代码则如下的示:
也许你已经注意到区别了,在用CKobject调用时,不需要使用二个div容器,当然也可以用二个。
JS调用时使用swfobject和CKobject的区别和注意事项
swfobject函数是adobe公司提供的标准的调用swf方式,所以他兼容了所有的swf文件调用。并且提供了一个expressInstall.swf文件用来检测浏览器安装flash插件的版本,在版本过低时会直接提示安装,但缺点就是不能判断用户是否安装了flash插件。而且代码是进行过压缩的,修改起来也比较麻烦。
CKobject函数是ckplayer提供的调用swf方式,体积要小的多,并且把一些必需要的参数直接集成在该函数中,并且能够判断flash插件是否安装和已安装的版本,在没有安装或版本
过低的情况下会提示用户安装插件。同时,CKobject函数是没有压缩过的,对外开放的,你可以修改里面的任何内容。
在分别使用这二个函数的时候要注意,交互的时候获取播放器ID的函数分别为: swfobject.getObjectById('ckplayer_a1') 和
CKobject.getObjectById('ckplayer_a1')
另外对于讨厌swfobject体积过大的朋友,建议删除ckplayer.js最后一行的函数(友情提醒新手朋友,最后一行可不是用记事本打开并且使用了自动换行时看到的最后一行),而直接改用CKobject调用。 前置广告的设置
阅读该段内容之时,我们假定你已阅读了前面的内容,并且了解了flashvars这个参数的作用以及flashvars里涉及到的26个单字母的作用。
在flashvars里涉及到前置广告的参数有四个,分别是:l,r,t,y
需要注意的是,如果你使用了l,r,t来设置前置广告就不能再使用y,如果使用y来设置前置广告就不要使用l,r,t
首先说一下l,r,t三个参数的使用
l:'前置广告地址,可以是视频,swf或图片' r:'前置广告的链接地址,如果是swf文件可以不用' t:前置广告播放时长,单位是秒
前置广告可以播放单个广告,也可以播放多个广告,播放多个广告时广告地址只需以竖线隔开即可。 例:
l:'adv1.flv|adv2.swf|adv3.jpg', r:'url1.htm||url3.htm', t:'20|10|15'
这里调用了三个广告,请注意,我们这里为视频也设置了广告时间, 并且r值里的第二个值是空的,因为广告是swf格式,本身会有链接地址,不需要设置,所以空着就行 该形式的广告默认是随机排序的,即并不是按指定的顺序来播放三个广告
如果要更改此项设置,需要在配置文件ckplayer.js或ckplayer.xml里设置前置广告是按顺序播放还是随机播放。具体的请查看配置文件的说明。
对于视频广告,比如视频广告本身的长度是30秒,但你设置了20秒,那么播放器将参考真实的广告视频时间还是按照你设置的时间来播放呢。也需要在配置文件ckplayer.js或ckplayer.xml里设置
当播放前置广告时候,也许你需要向用户提供一个跳过广告按钮来增加播放器的人性化。或用来区别注册会员和非注册会员的权限。ckplayer也提供了这方面的设置,这部分也需要到配置文件说明里做详细的了解
另外,当前置广告是视频时,也许你想为用户提供一个静音按钮或禁止用户使用前置视频广告的静音按钮,也需要在配置文件里进行相关设置
当使用y参数来配置前置广告时,请把l的值清空,优点是可以根据不同的a值来配置当前视频的广告
比如:调用播放器时设置了a参数的值 var flashvars={ 省略前面的 a:'123',
y:'adv.php?id=[$pat]', 省略后面的 };
此时,播放器就会调用adv.php?id=123这个文件来读取前置广告。此时请确保该页面里输出的值为:
{l->广告地址}{r->链接地址}{t->播放时长} 暂停广告的使用
暂停广告只能播放swf或图片格式 调用方式是在调用播放器的时候设置 var flashvars={ ...省略前面的代码 d:'广告1|广告2|广告3', u:'链接一||链接3', ...省略后面的代码 }
有链接的加链接,没链接的留空,没链接的正常指swf文件 暂停广告是多个的自动随机播放,没有顺序播放功能
暂停广告的文件不要设置的过大,过大在网速慢的情况下没有加载前用户又点击了播放的话,有可能引起错误。
ckplayer.js中的ck.setup或ckplayr.xml里的setup的第16个参数是控制暂停广告是否使用关闭按钮,配置文件里有控制暂停广告关闭按钮的坐标。
使用缓冲广告
要使用缓冲广告功能,首先需要开启,方法是修改ckplayer.js里的ck.setup或ckplayer.xml里的
17、缓冲时是否播放广告,0是不显示,1是显示并同时隐藏掉缓冲图标和进度,2是显示并不隐藏缓冲图标
当该参数是2的时候,建议把缓冲的百分比位置放置到其它边角上,不要放在中间,不然容易导致看不到缓冲的百分比进度,让用户受不了 然后在调用播放器时设置z的值 var flashvars={ ...省略前面的代码
z:'定义一个有链接的swf文件', ...省略后面的代码 }
这里只能定义一个文件,并且需要是swf文件,当然你也可以使用图片,但没有链接地址的功能
缓冲广告的定位参考暂停广告的定位方式 问:为什么只能使用一个广告?
答:因为缓冲的时间有时长有时短,长的话无所谓,短的话如果是多个广告随机加载会大量占用cpu资源,并且有可能导致还没有加载完成就关闭了,容易引起错误 调用视频的方式介绍,普通方式,网址形式,xml形式,swf形式 ckplayer提供了四种形式的视频地址调用,分别是: 普通方式 网址形式 xml形式 swf形式
控制调用方式的参数是flashvars里的s参数,但需要同时和f值和a值进行配合使用
s 0
f 视频地址 网址
f值示例 a 不需要设置
a值示例 1
原理和示例
video.flv 播放器会直接调用f值的地址进行播放
1 video.php?id=[$pat] 变量 播放器会调用video.php?id=1里设置的视频地
进行播放 2 XML页面video.php?id=[$pat] 变量 地址 3 swf文件地址 geturl.swf 变量 1 1 同上,只是该地址输出的格式为XML文本格式swf文件里可以任意根据a的值或其它自定义进行组装出视频地址传递给播放器播放 当s=1或2的时候的补充说明
f值里可以包括替换符[$pat],是用来替换a参数设置的值的。在实例使用中,极少数的情况下发现a的值仅仅只有一个不太符合要求。所以当你有多个值的时候请注意下面有关于f和a参数的使用说明
a可以是单个值,也可以是数组的形式,我们以s=1时举例如下 f:'video.php?id=[$pat]&id1=[$pat1]' a:'2|3'
这样播放器就会根据网址:video.php?id=2&id1=3来调用视频 需要注意的是F值中的&符号要变成&
需要注意的是[$pat]和[$pat0]是相等的,都是调用a值里的第一个值的。 对应的替换符和值对应关系如下:
a:'a0|a1|a2|a3' [$pat] [$pat0] [$pat1] [$pat2] [$pat3]
a0 a0 a1 a2 a3
网址形式调用时输出的格式及注意事项
调用时,当s=1时,将采用网址形式调用视频地址方式,即播放器默认加载f值(配合a值)指定的一个网址或文本地址,该网址里输出视频地址(可输出单个视频地址或多个(段)视频地址)。播放器将读取这些视频地址进行播放。 比如调用代码为: var flashvars={ f:'video.htm', s:1 }