admin 管理员组

文章数量: 1184232


2023年12月18日发(作者:php代码属于条件语句)

在阅读该教程时,假定你已了解了ckplayer各文件的作用以及原理。如果你还不了解,建议先看下功能介绍

ckplayer上手使用其实很简单,但要发挥其更多功能的话,就需要比较复杂的操作。可能需要一点点时间的学习。

但是不用担心的是,在不涉及到插件的制作或复杂的js交互使用的情况下,你无需撑握任何编程语言。

在使用之前,建议你了解下你撑握的知识可以发挥ckplayer多大的功能。

一:从没做过网站,想使用ckplayer播放视频

建议您先了解下网站架构的基本原理和html(超文本标记语言,不是编程语言)的基本知识,至少,你需要了解怎么在网页中调用flash(文件后缀为.swf)的方法。

二:对html有些了解,知道怎么在网页中插入flash播放器,看过javascript,但并不了解

您可以使用ckplayer完整的功能

三:对js熟悉,会使用

您可以使用ckplayer完整的功能并且可以用js自由的和播放器进行交互,把ckplayer玩弄于股掌中。

四:熟悉as3语言

您可以制作出强大的跟播放器交互的功能插件

关于ckplayer的安装

安装很简单,只要你有网站的空间或服务器,直接把ckplayer文件夹(该目录下应该是包括的,而不是包括的)放在你网站根目录下,使用下面介绍的方法调用,请注意,跟你网站使用的什么环境和程序语言没有任何关系。就相当于一个js文件一样使用即可。

最简单的文件配置

调用方式说明

使用embed标志调用

使用adobe提供的js函数swfobject调用播放器

使用ckplayer提供的js函数CKobject调用

flashvars里各个参数的说明

html5视频的调用,只调用html5视频播放器

完整的调用代码示例-实现跨平台播放视频

JS调用时使用swfobject和CKobject的区别和注意事项

前置广告的设置

暂停广告的使用

使用缓冲广告

调用视频的方式介绍,普通方式,网址形式,xml形式,swf形式

网址形式调用时输出的格式及注意事项

XML形式调用的输出格式

swf形式调用的原理及代码示例

播放rtmp视频的方法和注意事项

使用技巧

分享功能的使用

播放结束调用精彩视频推荐的设置

更多使用方法介绍

最简单的文件配置

如果只需要调用一个视频播放器播放视频,不需要分享功能,开关灯功能,调节亮度功能,那么你的ckplayer文件夹里只需要保留以下四个文件即可(6.2里只需要3个文件,并且没有而是)

如果你也不需要兼容html5,并且不需要交互,那么也可以只保留下面的三个文件也可以

注:在ckplayer6.2版里没有文件,且没有而是

调用方式说明

调用方式非常灵活,可以直接像插入普通flash文件一样插入到网页中,也可以用adobe提供的JS函数调用,也可以使用ckplayer提供的JS函数调用,你甚至可以根据教程自己制作封装形式的JS函数调用。

但不管使用何种调用形式,通过外部向播放器传递参数的方法却只有一种,通过flashvars传递(当然还可以通过js传递,但为了简单,在该段不作第二种的形式的说明)。

使用embed标志调用

我们先看下面这段引用播放器的代码,你会发现,这就跟调用普通的swf文件是一样的,唯一的不同点就是多了一个flashvars参数。

flashvars="f=/flv/other/4" quality="high" width="480" height="400"

align="middle" allowScriptAccess="always" allowFullscreen="true"

type="application/x-shockwave-flash">

代码参数说明:

embed:是调用浏览器插件的标志,并不是只用来调用swf文件,还包括其它的一些插件,但我们这里是用来调用swf文件的,在html中,很多标志是需要成对出现的,比如这里,有开头的标志,就要有结束的标志。

src:表示播放器的路径

flashvars:表示向播放器里插入的变量名称和值,以上的代码,表示向播放器里传递了一个f变量,值是/flv/other/4,播放器会读取到这个变量和值进行处理,flashvars不仅仅只能传递一个变量,而是可以传递多个变量的,各个变量用&符号相分隔,比如 flashvars="a=1&s=2&x=" 向播放器里传递了三个值,其中x的值为空。

quality:该值是设置播放器的质量和速度之间的选择用的,可以直接忽略,不看,用默认的就行,下面列出该参数各种值的意思,仅供了解

Low 速度优于美观,而且不应用反锯齿。

Autolow 刚开始着重于速度,但当需要时随时提升美观。

Autohigh 同时着重播放速度和美观,但需要时则牺牲美观来保证播放速度。

Medium 应用一些反锯齿而不平滑位图。它质量高于low设置而低于high设置。

High 美观优于播放速度,而且一直应用反锯齿。如果影片不包含动画,位图会被平滑化;而如果影片包含动画,位图将不变平滑。

Best 提供最好的显示质量而不考虑播放速度。所有输出都应用反锯齿及所有位图都被平滑化。

width:定义播放器的宽,单位是像素

height:定义播放器的高

align:这是定义swf中的控制面版对齐方式,无视这个参数,用默认即可

allowScriptAccess:这是一个很重要的参数,因为这里可以设置允许或禁止swf文件和页面中的js交互,各种值的意思如下:

always 允许随时执行脚本操作。

never 禁止所有脚本执行操作。

samedomain 只有在 Flash 应用程序来自与 HTML 页相同的域时才允许执行脚本操作。

很多分享出去的视频,你会发现无法点击广告或精彩视频推荐或分享到微博的按钮,都是因为这里的值设置成了never或samedomain,禁止了交互功能,当然这也是为安全考虑

allowFullscreen:是否允许播放器全屏,设置成false时,点击全屏按钮也不能全屏

type:插件的类型,在浏览器中每种插件都有其固定的名称

使用adobe提供的js函数swfobject调用播放器

adobe的swfobject函数是一个比较强大的调用swf文件的函数,里是使用的swfobject2.0版本,该函数功能虽然强大,但即使封装后的代码依旧比较大,有10k以上。

如果你的网站中已经有该函数,那你可以删除该函数,即使你的网站中使用的是swfobject1.5版本,也可以删除该函数而使用swfobject1.5的调用方式调用播放器。

调用代码如下:

这个是用来放置播放器的容器,这个需要在WF的第二个参数里定义

这个指引用播放器的配置文件,只有引用到了才能使用播放器,所以要注意src=后面的路径

这个是定义js代码的标志,所有的相关代码都放在这个中间

var flashvars={};

这是定义了一个对象,相当于flashvars的值,用来设置向播放器传递各项参数,如果不需要某一个属性,可以直接删除掉,不影响,只要保留关键的就行了。具体的还要看自己的需要进行删除

var params={}

该对象是设置播放器的在页面里的一些配置,默认的有三个属性:分别是,背景颜色(不是播放器内部背景,而是页面里播放器的背景,只有播放器里的背景色的透明度设置成0的时候才会显示下面的这个颜色),是否允许全屏,是否允许交互

var attributes={id:'ckplayer_a1',name:'ckplayer_a1'};

该对象是设置播放器的id和name名称,这个参数是很有必要设置的

WF('ckplayer/', 'a1', '600', '400',

'10.0.0','ckplayer/', flashvars, params, attributes);

该参数就是调用播放器文件了,要注意二个swf文件的路径

参数分别表示的意思如下:

1、播放器地址

2、播放器的容器,将会在该id的容器(可以是div容器,也可以是别的,如span,li之类的反正有id就可以了)

3、播放器的宽

4、播放器的高

5、播放器所需flash插件的版本

6、检查flash插件版本的文件,要注意路径

7、即上面定义的var flashvars变量

8、即上面定义的 var params变量

9、即上面定义的 var attributes变量

使用ckplayer提供的js函数CKobject调用

ckplayer自己封装的调用播放器的代码,也是js函数,主要是把html5和swf调用集成在一起了。adoble的调用函数是在页面加载完成后才运行,而ckplayer的调用函数是在加载到代码时即运行,如果你使用该函数,里的最后一行swfobject就可以删除了

var flashvars={

f:'/flv/other/4',

c:0

};

WF('ckplayer/','a1','ckplayer_a1','600','400',flashvars);

这个是用来放置播放器的容器,这个需要在WF的第二个参数里定义

这个指引用播放器的配置文件,只有引用到了才能使用播放器,所以要注意src=后面的路径

这个是定义js代码的标志,所有的相关代码都放在这个中间

var flashvars={};

这是定义了一个对象,相当于flashvars的值,用来设置向播放器传递各项参数,如果不需要某一个属性,可以直接删除掉,不影响,只要保留关键的就行了。具体的还要看自己的需要进行删除

WF('ckplayer/','a1','ckplayer_a1','600','400',flashvars);

该参数就是调用播放器文件了,要注意二个swf文件的路径

参数分别表示的意思如下:

1、播放器地址

2、播放器的容器,将会在该id的容器(可以是div容器,也可以是别的,如span,li之类的反正有id就可以了)

3、播放器的id和name

4、播放器的宽

5、播放器的高

7、即上面定义的var flashvars变量

flashvars里各个参数的说明

参数

f s=0时地为普通的视频地址

s=1时是一个网址,网址里存放视频地址

使用说明

s=2时是一个网址,网址里输出xml格式的视频地址

s=3时是一个swf文件地址,swf和播放器进行交互读取地址

a 当s>0时,a和f值拼出一个新的地址,在新的地址里读取视频地址,

s 调用方式,0=普通方法(f=视频地址),1=网址形式,2=xml形式,3=swf形式(s>0时f=网址合a来完成对地址的组装)

c 是否读取文本配置,0不是,1是,当=1时,播放器会自动读取和播放器相同名称的xml(默认)来进行进一步的配置

x 在c=1的时候,自定义调用xml风格路径,为空的话将调用跟播放器同名的xml文件。这个参的作用是可以使用多套风格或设置的文件来进行随机调用

i 初始图片地址,就是在播放器默认是暂停或默认不加载的情况下先给一张图片遮在播放器前面让其看起来不会一片黑,关于初始图片的大小的控制请参考配置文件里(或)的的第14个参数

d 暂停时播放的广告,swf/图片,多个用竖线隔开,图片要加链接地址,没有的时候留空就行

u 暂停时如果是图片的话,加个链接地址,如果没有就留空,

l 前置广告地址(也可以是以|隔开的数组),swf/图片/视频,多个用竖线隔开,图片和视频要链接地址,关于前置广告

r 前置广告的链接地址,多个用竖线隔开,没有的留空

t 视频开始前播放swf/图片时的时间,多个用竖线隔开

y 这里是使用网址形式调用广告地址时使用,如果要使用这个参数,前置广告的l,r,t里至少要置l的参数为空,播放器才会根据y的值进行调用

z 缓冲广告,只能放一个,swf格式

e 视频结束后的动作,0是调用js函数function playerstop(){}、这个参数有一篇单独的使用明,1是循环播放,2是暂停播放并且不调用暂停广告,3是调用视频推荐列表的插件,4是清视频流并调用js、功能和0差不多,5是暂停并且同时调用暂停广告

v 默认音量,0-100之间

p 视频默认0,暂停,1是播放

h 播放http视频流时采用何种拖动方法,=0不使用任意拖动,=1是使用按关键帧,=2是按时间=3是自动判断按什么(如果视频格式是.mp4就按关键时间,.flv就按关键帧),=4也是自动判断要包含字符mp4就按mp4来,只要包含字符flv就按flv来)

q 视频流拖动时参考参数,默认是start

m 默认是否采用点击播放按钮后再加载视频,0不是,1是,这个参数的好处是一个页面上放多频时不需要加载所以的视频,点击哪个加载哪个

o 在设置m=1,即默认不加载视频的时候向播放器传递该视频的时间,单位:秒,也可以不传

w 在设置m=1,即默认不加载视频的时候向播放器传递该视频的字节数,也可以不传

g 视频直接g秒开始播放,这个功能类似跳过片头的功能,当然这个功能还可以用js来实现

j 视频提前j秒结束,跳过片尾的功能

k 提示点时间,如 30|60鼠标经过进度栏30秒,60秒会提示n参数指定的相应的文字,这是以开的一个数字数组

这个是鼠标经过进度栏上一些关键点时显示一个提示框,这些点需要自行设置,点的样式可以配置文件里_start参数设置

n 提示点文字,跟k配合使用,各提示文字以|隔开,所以提示文字里不能有|,(如:提示点1|点2)

b 指定播放器是否进行交互,默认交互,b=1时不使用交互,所以在站外引用时需要设置ckplayer里的里设置{b->1}

wh 初始化指定视频的宽高比,如wh:'16:9',该功能在6.2以后的版本里方支持

ct 时间显示是否采用修正,默认2,自动判断,1是强制修正,0是不修正,该功能6.2后支持html5视频的调用,只调用html5视频播放器

html5视频调用可以和ckplayer的flash播放器配合调用,也可以单独调用,以下是一个完整的只调用html5播放器的应用

var support=['iPad','iPhone','ios','android+false','msie10+false'];

TML5('a1','ckplayer_a1',600,400,video,flashvars,support);

是展示视频的容器

var flashvars={}是设置html5视频的一些参数,目前只提供四个变量的设置

p:0默认不播放,1是默认播放

e:0默认播放完后暂停,1是循环播放

m:0是默认打开页面就加载视频,1是打开页面但不加载视频

i:在默认暂停或默认不加载视频的情况下显示一张缩略图

var video=[]是设置html5视频的地址和视频类别,可以添加多种视频格式已适应在不同的平台上播放 ,该参数是一个数组形式(6.2之前是一个对象),说明:['视频地址->视频格式','视频地址->视频格式']

var support=[]是判断在哪些平台上使用html5播放器,平台类型名称见下方列表,这里可以组合使用,例如上面的'android+false','msie10+false',就是指在android上没有装flash插件的情况下使用html5播放器,ie10上也是这种判断

TML5('a1','ckplayer_a1',600,400,video,flashvars,support);

括号里面的参数的意思分别是

1、视频容器id

2、播放器id

3、宽度

4、高度

5、视频地址对象

6、相关设置对象

7、支持的平台对象

以下是var support里限制平台时使用的名称

iPhone

iPad

ios

android

trident

presto

webKit(可加上版本号:如webKit5)

gecko (可加上版本号:如gecko10)

mobile (可加上版本号:如webKit5)

iPhone

iPad

ios终端

android终端或者uc浏览器

IE内核

opera内核

苹果、谷歌内核

火狐内核

移动终端

webApp

msie (可加上版本号:如msie10)

完整的调用代码示例-实现跨平台播放视频

web应该程序

IE浏览器

以下的代码是综合兼容了各平台,各浏览器对视频播放器的支持情况。

var support=['iPad','iPhone','ios','android+false','msie10+false'];

TML5('video','ckplayer_a1',600,400,video,flashvars,support);

可以发现。这里只是把调用ckplayer的代码和调用html5播放器的代码放在了一起,即可实现跨平台播放,这段代码的工作原理:

首先建议你使用二个嵌套的div容器来装载播放器,像本例中使用了

id="a1">

代码执行过程中会首行调用ckplayer播放器,接着判断平台类型,如果符合使用html5播放器的条件时,就调用html5播放器代码部分。请注意,本例中调用ckplayer的代码是使用的adobe的js函数swfobject。如果使用ckplayer的js函数调用,代码则如下的示:

也许你已经注意到区别了,在用CKobject调用时,不需要使用二个div容器,当然也可以用二个。

JS调用时使用swfobject和CKobject的区别和注意事项

swfobject函数是adobe公司提供的标准的调用swf方式,所以他兼容了所有的swf文件调用。并且提供了一个文件用来检测浏览器安装flash插件的版本,在版本过低时会直接提示安装,但缺点就是不能判断用户是否安装了flash插件。而且代码是进行过压缩的,修改起来也比较麻烦。

CKobject函数是ckplayer提供的调用swf方式,体积要小的多,并且把一些必需要的参数直接集成在该函数中,并且能够判断flash插件是否安装和已安装的版本,在没有安装或版本

过低的情况下会提示用户安装插件。同时,CKobject函数是没有压缩过的,对外开放的,你可以修改里面的任何内容。

在分别使用这二个函数的时候要注意,交互的时候获取播放器ID的函数分别为:

ectById('ckplayer_a1')

ectById('ckplayer_a1')

另外对于讨厌swfobject体积过大的朋友,建议删除最后一行的函数(友情提醒新手朋友,最后一行可不是用记事本打开并且使用了自动换行时看到的最后一行),而直接改用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:'||',

r:'||',

t:'20|10|15'

这里调用了三个广告,请注意,我们这里为视频也设置了广告时间, 并且r值里的第二个值是空的,因为广告是swf格式,本身会有链接地址,不需要设置,所以空着就行

该形式的广告默认是随机排序的,即并不是按指定的顺序来播放三个广告

如果要更改此项设置,需要在配置文件或里设置前置广告是按顺序播放还是随机播放。具体的请查看配置文件的说明。

对于视频广告,比如视频广告本身的长度是30秒,但你设置了20秒,那么播放器将参考真实的广告视频时间还是按照你设置的时间来播放呢。也需要在配置文件或里设置

当播放前置广告时候,也许你需要向用户提供一个跳过广告按钮来增加播放器的人性化。或用来区别注册会员和非注册会员的权限。ckplayer也提供了这方面的设置,这部分也需要到配置文件说明里做详细的了解

另外,当前置广告是视频时,也许你想为用户提供一个静音按钮或禁止用户使用前置视频广告的静音按钮,也需要在配置文件里进行相关设置

当使用y参数来配置前置广告时,请把l的值清空,优点是可以根据不同的a值来配置当前视频的广告

比如:调用播放器时设置了a参数的值

var flashvars={

省略前面的

a:'123',

y:'?id=[$pat]',

省略后面的

};

此时,播放器就会调用?id=123这个文件来读取前置广告。此时请确保该页面里输出的值为:

{l->广告地址}{r->链接地址}{t->播放时长}

暂停广告的使用

暂停广告只能播放swf或图片格式

调用方式是在调用播放器的时候设置

var flashvars={

...省略前面的代码

d:'广告1|广告2|广告3',

u:'链接一||链接3',

...省略后面的代码

}

有链接的加链接,没链接的留空,没链接的正常指swf文件

暂停广告是多个的自动随机播放,没有顺序播放功能

暂停广告的文件不要设置的过大,过大在网速慢的情况下没有加载前用户又点击了播放的话,有可能引起错误。

中的或里的setup的第16个参数是控制暂停广告是否使用关闭按钮,配置文件里有控制暂停广告关闭按钮的坐标。

使用缓冲广告

要使用缓冲广告功能,首先需要开启,方法是修改里的或里的的第17个参数为1或是2

第17个参数的功能具体的说明如下

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

原理和示例

播放器会直接调用f值的地址进行播放

1 ?id=[$pat] 变量 播放器会调用?id=1里设置的视频

进行播放

2 XML页面?id=[$pat] 变量

地址

3 swf文件地址

变量

1

1

同上,只是该地址输出的格式为XML文本格式swf文件里可以任意根据a的值或其它自定义进行组装出视频地址传递给播放器播放

当s=1或2的时候的补充说明

f值里可以包括替换符[$pat],是用来替换a参数设置的值的。在实例使用中,极少数的情况下发现a的值仅仅只有一个不太符合要求。所以当你有多个值的时候请注意下面有关于f和a参数的使用说明

a可以是单个值,也可以是数组的形式,我们以s=1时举例如下

f:'?id=[$pat]&id1=[$pat1]'

a:'2|3'

这样播放器就会根据网址:?id=2&id1=3来调用视频

需要注意的是F值中的&符号要变成%26

需要注意的是[$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:'',

s:1

}

播放器将加载页面,页面里输出的内容应该是以一几种格式:

一:直接输出视频地址,如

二:输出ckplayer定义的格式,如

这二种方式都可以正确的向播放器传递视频地址,另外要说明的是,这里不仅仅可以设置视频地址,并且同时可以设置其它的部分参数,如h的值,o,w的值,基本上flashvars里所有的值都可以在些设置,除了以下几个值

l,r,t,x

下面演示了默认不加载视频,并且在时间上显示正确时间的配置方式

此时,如果是多视频,应该怎么输出呢,以下二种即是多视频输出的方法

或直接输出地址

上面是最简单的网址调用形式,下面将说明一下更复杂的网址形式调用

比如

var flashvars={

f:'?id=[$pat]',

a:'123',

s:1

....

}

这样的方式原理就是播放器将从?id=123这个网址获得视频地址来播放。更详细的可以参考上方的调用视频的方式介绍,普通方式,网址形式,xml形式,swf形式

XML形式调用的输出格式

使用xml的好处

1:结构清晰(实际经验是针对了解xml结构的人觉得清晰,不了解的人觉得太乱)

2:定义功能强大,可以把多段视频的时间和字节直接写在xml文件中,播放器可以不用加载视频计算各段的时长和字节,而是直接开始播放,大大节约服务器资源

3:可以做到跟网址形式调用同等的隐藏地址功能

正文: 关于调用xml文件的方式可以参考

本文只列出一个最简单的调用方式如

var flashvars={

}

f:/down/?id=[$pat]'',

a:'abcddef',

s:2,

c:0

注意s的值为2

你可以查看一下/down/?id=abcddef这个地址,输出的就是xml格式的文件,还可以试着换一下id的值看看

该文件的代码如下:

{d->}

第一段视频地址,注意你传过来的参数id的值为abcdef

第一段视频的字节数,如果没有,可以直接删除该项,那么播放器就会自动计算字节

第二段视频地址

第二段视频的字节数

第二段视频的秒数

第一段视频的时间,秒数,没有也直接删除

代码的意思上面已经说的很明白了。在此不一一解释,只说一下 {d->}

的意思,这是在6.0后新增加了一种机制,该参数的作用可以说是很强大,因为他可以在播放器调用该页面同时改变 播放器里已经设置好的参数,当然不是全部的参数都可以改变,有的已被播放器使用的就没法改了,改变了会出错,比如说f,s,a的值,这三个参数因为已经运行过了,改变了也没有作用,再比如l,r,t这三个前置 广告的参数也不可以改变 ,因为在调用这个页面的时候,广告已经加载,以下列出所有可以改变的值

d,u,z,e,v,p,h,q,g,j,k,n

其中最重要的就是h的值和q的值,友情提示,一定要记得这二个值的用处,在很多时候要改的,h是改变支持随意拖动的视频采用何种形式的方式拖动,q是拖动的参数 ,在这里设置可以做到调用不同视频时同时设置,做到一种智能判断

swf形式调用的原理及代码示例

调用播放器时当s=3时将使用swf交互的形式调用视频地址,视频的加密方式直接在swf文件里完成,这样可以做到很好的加密,友情提醒,有加密就有解密。

调用代码示例

var flashvars={

f:'',

a:'abc',

s:3

....省略

}

此时就是使用的swf文件交互方式读取视频地址了。

下面给出swf文件一个最简单的示例并作说明

var AppObj:Object;

function setAppObj(app:Object):void{//系统保留,不能删除

}

function Address(){

}

dress("|","3000|3000","35|35");

AppObj=app;

Address();

说明

var AppObj:Object;定义的是播放器对象

function setAppObj(app:Object):void{}的作用是接受播放器传递过来的播放器对象,大体意思就是播放器加载这个swf文件时,会同时向这个swf文件里传递一个函数数setAppObj,所以该文件需要用这个函数来接受,没有话,播放器传递不了函数就会出错,括号里的app就是播放器实例,AppObj=app,就是把AppObj定义成播放器的实例,播放器里的公开的函数和

变量该文件都可以调用了

此同时调用Address()函数

function Address(){}的作用是向播放器里传递一个新的地址,传递方式是调用播放器里的loadAddress函数

loadAddress(视频地址列表,视频大小列表,各段视频时间列表)

如果要调用播放器里的a值,就得多了解一下api接口了,关于接口的使用和插件里是一样的

播放rtmp视频的方法和注意事项

ckplayer里调用rtmp视频的方法跟调用普通视频(http协议)的方法基本一至,只是稍有区别

比如最普通的调用方法就是

f值里的就是一个rtmp视频流地址,请注意格式,rtmp://ip/live(流地址)/livestream(实例名称)

如果是多级目录,比如地址是rtmp://localhost/vod/ab/c的。在ckplayer里播放的话,需要修改二个地方,

一个是修改和里的_spac = '|';改成_spac = ',';总至不能用|,用其它的任何符号都能,此时的|我们需要在地址里做为区分rtmp的协议和实例名称

二是调用视频地址时修改f:'rtmp://localhost/vod/ab/c'为rtmp://localhost/vod|ab/c

这样就可以了,注意竖线前面是地址,后面是实例名称

这方法针对多级目录的rtmp有效

如果是使用red5搭建的rtmp播放环境或使用自己的程序搭建的rtmp环境,还需要注意设置里的值的第23个参数,设置成0,因为播放器在连接服务器的时候有时会收到一个断开信号,但是因为是基于rtmp协议的,会自动等待连接,无需重复请求连接,重复请求倒会导致不能连接上服务器

另外还要注意里的的第13个参数,播放器的缓冲时间设置不能高于你服务器设置的缓冲时间。

使用技巧

本技巧提到单个字母的,正常都是指调用播放器时设置的var flashvars={}里的参数,本文提到的ck.开头的都是指里的函数ckstyle(){}里的参数并且同时指里相对应的参数,比如说,本文说的参数在里对应的就是之间的值

1:修改l右上角的logo

logo文件名称为,放在压缩包里,只要做一个图片放到压缩包时即可

调整logo的位置

_logo='2,0,-100,20';

2:修改加载视频前显示的logo

logo是放在压缩包里的文件,同样自己制作一个替换掉原来的即可

调整位置是

_mylogo='1,1,-100,-55';

3:不使用右上角的logo或加载视频前显示的logo

直接设置

='null';

='null';

4:隐藏视频地址的方法,替换函数(_repc)的使用

在里有个参数:_repc='';

在里对应的是:

这个参数的作用就是把你的视频地址进行一次简单的加密,所以你要使用这个功能的话首先要在或里找到这个参数。

现在首先确认调用播放器的代码如

var flashvars={

f:'/2012/09/',

c:0

}

这样的方式可以播放。

下面就作具体的设置了。

找到里的_repc='';

设置成:

_repc='ck->/|mp5->.flv';

这个参数的意思是设置了二个替换方式,中间是用竖线隔开的,在播放器里对视频地址会分别把前面的参数替换成后面的参数,所以现在的调用代码只要使用

var flashvars={

f:'ck2012/09/01mp5',

c:0

}

以上的f值就和你之前的真实的视频地址是一个意思了,看起来是不是不像一个视频地址了,这就是替换函数的作用,可以让一般人看不出这个真实的视频地址。做到一个简单的隐藏地址方式。

分享功能的使用

使用分享功能插件之前,需要先确定的调用视频代码里的flashvars对象里存在my_url:参数,具体代码示例如下

var flashvars={

......

my_url:encodeURIComponent()

}

encodeURIComponent()是js里获取当前页面地址的参数。只有当分享插件调用到该值才能正确的把页面地址发送到微博中去,微博的分享程序才能根据该值自动分析出分享页面的标题,图片和介绍

要使用分享功能,必需使用到的二个文件是:,

是分享的插件,是用来具体配置分享插件上各按钮的图片路径以及各按钮的位置。以及分享框里的内容。

第一步:先设置好分享插件的配置文件的路径,设置的位置是在中的_share='ckplayer/';以及中的

可以用相对地址,页面调用时是相对于调用播放器页面的路径,直接访问swf文件时是相对于swf的路径。如果你不确定,就用绝对路径吧,绝对路径比如_share='/ckplayer/';

第二步:配置里的各项参数,如下图说明:

播放器路径

播放器路径

需要在分享地址里显示哪些参数,如果是播放普通的视频只需要f值和my_url值就行,如

用地址调用或xml调用或swf调用,应该是用 a,my_url。意思就是把每个视频都需要变化数放在这里,不变化的如音量之类的只要放在里就行了。

分享按钮所在的文件夹地址

是否开启自动调用,默认为1开启,此时需要把放在你的网站根目录下并

需要设置该文件里的*.为你自己的域名,这个功能是开放安全沙箱的,最好对你自己网站开放就可以了

你播放视频的页面编码,0是utf-8,1是gbk2312

bshare分享网站注册的uuid。要获取uuid,请至申请一个账号,然在管理中心添加一个你的网站,该网站将对应一个uuid,换掉即可

的作用

该参数是用来做替换函数用的,可以将长地址变成短地址

比如你的原地址是:/video/2012/09/10_

此时如果你的站外调用代码应该是:

/ckplayer5.9/?f=视频地址&my_url=/video/2012/09/10_

这种形式的站外地址比较长,此时用可以做到缩短my_url的值比如我进行以下设置

ck->/video/

那么现在你的my_url=ck2012/09/10_

分享插件就会自动把ck换成/video/

更进一步:

ck->/video/|vat->.htm

注意,这里支持多重替换,各替换之间用|隔开,经过上面的设置后,你的my_url=ck2012/09/10_更进一步可以把2012,2013,2014还有01-12都进行一次替换,这样页面参数地址到最后会变的单,近于一个普通参数

qqmb

该参数是分享网站在bshare上的id值,每个网站都对应着一个id,如果你想换掉目前官方默认的网站,得修改该id值,可到/help/platformNames查看对应的代码

播放结束调用精彩视频推荐的设置

视频播放结束调用精彩视频推荐列表,需要设置flashvars里的值e:3,才会调用精彩视频推荐插件

配置文件里设置该插件的代码是:

l_rel=',ckplayer/,0';

在中的对应参数是

请注意第二个参数是精彩视频的列表文件,该文件默认的只是一个示例文件。

这里的参数跟flashvars中的a可以配合使用以达到根据不同的视频调用不同的精彩视频列表,比如调用代码是

var flashvars={

}

f:'?id=[$pat]',

a:'888',

s:'1',

此时只要设置control_rel的值如下

l_rel=',ckplayer/?id=[$pat],0';

视频播放结束就会调用ckplayer/?id=888这个页面来读取相关视频,请注意里也必需输出跟参考文件里一致的格式。

更多使用方法介绍

该处为预留位置


本文标签: 视频 调用 播放器 地址 使用