forked from amplayer/ckplayer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.htm
321 lines (316 loc) · 18 KB
/
index.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ckplayer6.8</title>
<style type="text/css">
body,td,th {
font-size: 14px;
line-height: 26px;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
p {
margin-top: 5px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
padding-left: 10px;
}
#a1{
position:relative;
z-index: 100;
width:600px;
height:400px;
float: left;
}
</style>
<script type="text/javascript" src="js/offlights.js"></script>
</head>
<body>
<div id="a1"></div>
<!--
上面一行是播放器所在的容器名称,如果只调用flash播放器,可以只用<div id="a1"></div>
-->
<textarea name="statusvalue" rows="15" id="statusvalue" style="width:200px;height:400px;">该处是用来监听播放器实时返回的各种状态,可以根据这里的状态实时的控制播放器</textarea>
<script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
<script type="text/javascript">
//如果你不需要某项设置,可以直接删除,注意var flashvars的最后一个值后面不能有逗号
function loadedHandler(){
if(CKobject.getObjectById('ckplayer_a1').getType()){//说明使用html5播放器
alert('播放器已加载,调用的是HTML5播放模块');
}
else{
alert('播放器已加载,调用的是Flash播放模块');
}
}
var _nn=0;
function ckplayer_status(str){
_nn+=1;
if(_nn>100){
_nn=0;
document.getElementById('statusvalue').value='';
}
document.getElementById('statusvalue').value=str+'\n'+document.getElementById('statusvalue').value;
}
var flashvars={
f:'http://img.ksbbs.com/asset/Mon_1605/0ec8cc80112a2d6.mp4',//视频地址
a:'',//调用时的参数,只有当s>0的时候有效
s:'0',//调用方式,0=普通方法(f=视频地址),1=网址形式,2=xml形式,3=swf形式(s>0时f=网址,配合a来完成对地址的组装)
c:'0',//是否读取文本配置,0不是,1是
x:'',//调用配置文件路径,只有在c=1时使用。默认为空调用的是ckplayer.xml
i:'http://www.ckplayer.com/static/images/cqdw.jpg',//初始图片地址
d:'http://www.ckplayer.com/down/pause6.1_1.swf|http://www.ckplayer.com/down/pause6.1_2.swf',//暂停时播放的广告,swf/图片,多个用竖线隔开,图片要加链接地址,没有的时候留空就行
u:'',//暂停时如果是图片的话,加个链接地址
l:'http://www.ckplayer.com/down/adv6.1_1.swf|http://www.ckplayer.com/down/adv6.1_2.swf',//前置广告,swf/图片/视频,多个用竖线隔开,图片和视频要加链接地址
r:'',//前置广告的链接地址,多个用竖线隔开,没有的留空
t:'10|10',//视频开始前播放swf/图片时的时间,多个用竖线隔开
y:'',//这里是使用网址形式调用广告地址时使用,前提是要设置l的值为空
z:'http://www.ckplayer.com/down/buffer.swf',//缓冲广告,只能放一个,swf格式
e:'8',//视频结束后的动作,0是调用js函数,1是循环播放,2是暂停播放并且不调用广告,3是调用视频推荐列表的插件,4是清除视频流并调用js功能和1差不多,5是暂停播放并且调用暂停广告
v:'80',//默认音量,0-100之间
p:'0',//视频默认0是暂停,1是播放,2是不加载视频
h:'0',//播放http视频流时采用何种拖动方法,=0不使用任意拖动,=1是使用按关键帧,=2是按时间点,=3是自动判断按什么(如果视频格式是.mp4就按关键帧,.flv就按关键时间),=4也是自动判断(只要包含字符mp4就按mp4来,只要包含字符flv就按flv来)
q:'',//视频流拖动时参考函数,默认是start
m:'',//让该参数为一个链接地址时,单击播放器将跳转到该地址
o:'',//当p=2时,可以设置视频的时间,单位,秒
w:'',//当p=2时,可以设置视频的总字节数
g:'',//视频直接g秒开始播放
j:'',//跳过片尾功能,j>0则从播放多少时间后跳到结束,<0则总总时间-该值的绝对值时跳到结束
k:'32|63',//提示点时间,如 30|60鼠标经过进度栏30秒,60秒会提示n指定的相应的文字
n:'这是提示点的功能,如果不需要删除k和n的值|提示点测试60秒',//提示点文字,跟k配合使用,如 提示点1|提示点2
wh:'',//宽高比,可以自己定义视频的宽高或宽高比如:wh:'4:3',或wh:'1080:720'
lv:'0',//是否是直播流,=1则锁定进度栏
loaded:'loadedHandler',//当播放器加载完成后发送该js函数loaded
//调用播放器的所有参数列表结束
//以下为自定义的播放器参数用来在插件里引用的
my_title:'演示视频标题文字',
my_url:encodeURIComponent(window.location.href)//本页面地址
//调用自定义播放器参数结束
};
var params={bgcolor:'#FFF',allowFullScreen:true,allowScriptAccess:'always'};//这里定义播放器的其它参数如背景色(跟flashvars中的b不同),是否支持全屏,是否支持交互
var video=['http://img.ksbbs.com/asset/Mon_1605/0ec8cc80112a2d6.mp4->video/mp4'];
CKobject.embed('ckplayer/ckplayer.swf','a1','ckplayer_a1','100%','100%',false,flashvars,video,params);
/*
以上代码演示的兼容flash和html5环境的。如果只调用flash播放器或只调用html5请看其它示例
*/
function videoLoadJs(s){
alert("执行了播放");
}
function playerstop(){
//只有当调用视频播放器时设置e=0或4时会有效果
alert('播放完成');
}
var _nn=0;//用来计算实时监听的条数的,超过100条记录就要删除,不然会消耗内存
function getstart(){
var a=CKobject.getObjectById('ckplayer_a1').getStatus();
var ss='';
for (var k in a){
ss+=k+":"+a[k]+'\n';
}
alert(ss);
}
function ckadjump(){
alert('这里演示了点击跳过广告按钮后的执行的动作,如果注册会员可以做成直接跳过的效果。');
}
//开关灯
var box = new LightBox();
function closelights(){//关灯
box.Show();
CKobject._K_('a1').style.width='940px';
CKobject._K_('a1').style.height='550px';
CKobject.getObjectById('ckplayer_a1').width=940;
CKobject.getObjectById('ckplayer_a1').height=550;
}
function openlights(){//开灯
box.Close();
CKobject._K_('a1').style.width='600px';
CKobject._K_('a1').style.height='400px';
CKobject.getObjectById('ckplayer_a1').width=600;
CKobject.getObjectById('ckplayer_a1').height=400;
}
function changePrompt(){
CKobject.getObjectById('ckplayer_a1').promptUnload();//卸载掉目前的
CKobject.getObjectById('ckplayer_a1').changeFlashvars('{k->10|20|30}{n->重设提示点一|重设提示点二|重设提示点三}');
CKobject.getObjectById('ckplayer_a1').promptLoad();//重新加载
}
function addflash(){
if(CKobject.Flash()['f']){
CKobject._K_('a1').innerHTML='';
CKobject.embedSWF('ckplayer/ckplayer.swf','a1','ckplayer_a1','600','400',flashvars,params);
}
else{
alert('该环境中没有安装flash插件,无法切换');
}
}
function addhtml5(){
if(CKobject.isHTML5()){
support=['all'];
CKobject._K_('a1').innerHTML='';
CKobject.embedHTML5('a1','ckplayer_a1',600,400,video,flashvars,support);
}
else{
alert('该环境不支持html5,无法切换');
}
}
function addListener(){
/*if(CKobject.getObjectById('ckplayer_a1').getType()){//说明使用html5播放器
CKobject.getObjectById('ckplayer_a1').addListener('play',playHandler);
}
else{
CKobject.getObjectById('ckplayer_a1').addListener('play','playHandler');
}*/
CKobject.getObjectById('ckplayer_a1').addListener('play','playHandler');
}
function playHandler(){
alert('因为注册了监听播放,所以弹出此内容,删除监听将不再弹出');
}
function removeListener(){//删除监听事件
if(CKobject.getObjectById('ckplayer_a1').getType()){//说明使用html5播放器
CKobject.getObjectById('ckplayer_a1').removeListener('play',playHandler);
}
else{
CKobject.getObjectById('ckplayer_a1').removeListener('play','playHandler');
}
}
function textBoxShow(){//增加提示文字
var o = {
name: 'prompt', //该文本的名称,主要作用是关闭时需要用到
coor: '0,2,-100,-100', //坐标
text: '{a href="http://www.ckplayer.com" target="_blank"}{font color="#FFFFFF" size="12" face="Microsoft YaHei,微软雅黑"}这里是一个提示文字演示,6.8新增功能{/font}{/a}', //文字
bgColor: '0x000000', //背景颜色
borderColor: '0x000000', //边框颜色
radius: 3, //圆角弧度
alpha:0,//总体透明度
bgAlpha: 50, //背景透明度
xWidth: 20, //宽度修正
xHeight: 5, //高度修正
pic: ['temp/face.png'], //附加图片地址数组,可以增加多个图片
pwh:[[30,30]],//图片绽放宽高
pEvent:[['url','http://www.ckplayer.com']],//图片事件数组
pCoor: ['0,0,-22,-3'], //图片坐标数组
pRadius: [30], //附加图片的弧度
tween:[['x',1,50,0.3],['alpha',1,100,0.3]]//缓动效果
};
var boxtemp=CKobject.getObjectById('ckplayer_a1').textBoxShow(o);
}
function textBoxClose(){
var is=CKobject.getObjectById('ckplayer_a1').textBoxClose('prompt');
}
function textBoxTween(){
CKobject.getObjectById('ckplayer_a1').textBoxTween('prompt',[['y',0,-30,0.3]]);
}
</script>
<p style="color:#F00">
ckplayer6.8,<a href="help.htm" target="_blank">查看升级说明</a>,<strong><a href="http://www.ckplayer.com/" target="_blank">官网</a>,<a href="http://www.ckplayer.com/manual/" target="_blank">帮助手册</a></strong><br />
<strong>如果你是双击打开该页面,发现不能播放视频</strong>(原则上该播放器需要在网站环境中运行),<a href="http://bbs.ckplayer.com/forum.php?mod=viewthread&tid=942">请点击该链接查看设置方法</a></p>
<p>该页面只是一个展示播放器功能的页面,里面的代码请自行选择需要的。</p>
<p><a href="demo3.htm">简单播放代码演示(自行选择优先使用Flash播放器还是HTML5播放器)</a>,<a href="demo.htm">简单播放代码演示(已不推荐使用)</a>,<a href="demo1.htm">只调用Flash播放代码演示</a>,<a href="demo2.htm">只调用HTML5播放代码演示</a><br>
<input type="button" name="button23" value="切换到flash播放器" onClick="addflash();" />
<input type="button" name="button24" value="切换到html5播放器" onClick="addhtml5();" />
</p>
<p>以下的操作对flash播放器和html5播放器都有效</p>
<p>
<input type="button" name="button5" value="播放" onClick="CKobject.getObjectById('ckplayer_a1').videoPlay();" />
<input type="button" name="button6" value="暂停" onClick="CKobject.getObjectById('ckplayer_a1').videoPause();" />
<input type="button" name="button7" value="播放/暂停" onClick="CKobject.getObjectById('ckplayer_a1').playOrPause();" />
<input type="button" name="button8" value="快进" onClick="CKobject.getObjectById('ckplayer_a1').fastNext();" />
<input type="button" name="button9" value="快退" onClick="CKobject.getObjectById('ckplayer_a1').fastBack();" />
<input type="button" name="button15" value="暂停监听" onClick="CKobject.getObjectById('ckplayer_a1').changeStatus(0);" />
<input type="button" name="button16" value="加ID的监听" onClick="CKobject.getObjectById('ckplayer_a1').changeStatus(3);" />
<input type="button" name="button21" value="获取播放器当前相关属性" onClick="getstart();" />
<input type="button" name="button13" value="注册监听播放事件" onClick="addListener();" />
<input type="button" name="button14" value="删除监听播放事件" onClick="removeListener();" />
</p>
<p>
先设置好要跳转的秒数:
<input name="seconds" type="text" id="seconds" value="20" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="跳转" onClick="CKobject.getObjectById('ckplayer_a1').videoSeek(document.getElementById('seconds').value);" />
</p>
<p>
先设置好音量(1-100):
<input name="volume" type="text" id="volume" value="20" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').changeVolume(document.getElementById('volume').value);" />
</p>
<p>以下的操作只对flash播放器使用,在html5播放时点击下面按钮不会发生任何事情,也不用担心会发生错误,因为在html5里虽然不支持但同时屏蔽了这些有可能出错的代码</p>
<p>
<input type="button" name="button0" value="暂停前置广告" onClick="CKobject.getObjectById('ckplayer_a1').frontAdPause();" />
<input type="button" name="button1" value="继续播放前置广告" onClick="CKobject.getObjectById('ckplayer_a1').frontAdPause(false);" />
<input type="button" name="button2" value="跳过广告" onClick="CKobject.getObjectById('ckplayer_a1').frontAdUnload();" />
<input type="button" name="button3" value="隐藏控制栏" onClick="CKobject.getObjectById('ckplayer_a1').changeFace(true);" />
<input type="button" name="button4" value="显示控制栏" onClick="CKobject.getObjectById('ckplayer_a1').changeFace();" />
<input type="button" name="button10" value="显示分享插件" onClick="CKobject.getObjectById('ckplayer_a1').plugin('share.swf',true);" />
<input type="button" name="button11" value="隐藏分享插件" onClick="CKobject.getObjectById('ckplayer_a1').plugin('share.swf',false);" />
<input type="button" name="button12" value="清除视频" onClick="CKobject.getObjectById('ckplayer_a1').videoClear();" />
<input type="button" name="button17" value="清除提示点" onClick="CKobject.getObjectById('ckplayer_a1').promptUnload();" />
<input type="button" name="button18" value="显示提示点" onClick="CKobject.getObjectById('ckplayer_a1').promptLoad();" />
<input type="button" name="button19" value="改变提示点" onClick="changePrompt()" />
<input type="button" name="button20" value="关闭滚动文字广告" onClick="CKobject.getObjectById('ckplayer_a1').marqueeClose();" />
<input type="button" name="button20" value="显示滚动文字广告" onClick="CKobject.getObjectById('ckplayer_a1').marqueeLoad(true);" />
<input type="button" name="button22" value="改变并显示滚动文字广告内容" onClick="CKobject.getObjectById('ckplayer_a1').marqueeLoad(true,'{font color=\'#FFDD00\'}改变后的内容,这里的内容虽然可以动态的改变,但不建议使用该功能做字幕的功能,字幕插件请在官网查找!{/font}');" />
<input type="button" name="button19" value="增加文本元件" onClick="textBoxShow()" />
<input type="button" name="button19" value="关闭文本元件" onClick="textBoxClose()" />
<input type="button" name="button19" value="移动文本元件" onClick="textBoxTween()" />
</p>
<p>
亮度(-255-255):
<input name="brightness" type="text" id="brightness" value="200" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoBrightness(document.getElementById('brightness').value);" />
0为中间值,向右为亮向左为暗</p>
<p>
对比度(-255-255):
<input name="contrast" type="text" id="contrast" value="200" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoContrast(document.getElementById('contrast').value);" />
127.5为中间值,向右对比鲜明向左对比偏暗</p>
<p>
饱和度(-255-255):
<input name="saturation" type="text" id="saturation" value="200" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoSaturation(document.getElementById('saturation').value);" />
1为中间值,0为灰度值(即黑白相片)</p>
<p>
色相(-255-255):
<input name="sethue" type="text" id="sethue" value="200" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoSetHue(document.getElementById('sethue').value);" />
0为中间值,向右向左一试便知</p>
<p>
增加宽高:
<input name="wandh" type="text" id="wandh" value="100" size="5" maxlength="5" /><input name="wandh2" type="text" id="wandh2" value="100" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoWAndH(document.getElementById('wandh').value,document.getElementById('wandh2').value);" />
大于0,100为正常宽高
</p>
<p>
自由设置宽:
<input name="cw" type="text" id="cw" value="100" size="5" maxlength="5" />
高:
<input name="ch" type="text" id="ch" value="100" size="5" maxlength="5" />
x:
<input name="cx" type="text" id="cx" value="100" size="5" maxlength="5" />
y:
<input name="cy" type="text" id="cy" value="100" size="5" maxlength="5" />
<input type="button" name="button" id="button" value="设置" onClick="CKobject.getObjectById('ckplayer_a1').videoWHXY(document.getElementById('cw').value,document.getElementById('ch').value,document.getElementById('cx').value,document.getElementById('cy').value);" />
</p>
<p>
播放新参数地址:
<input name="newaddress" type="text" id="newaddress" value="{f->http://movie.ks.js.cn/flv/2012/02/6-1.flv}{html5->http://movie.ks.js.cn/flv/other/2014/06/20-2.mp4->video/mp4,http://www.ckplayer.com/webm/1.webm->video/webm,http://www.ckplayer.com/webm/1.ogv->video/ogg}" size="60" maxlength="300" />
<input type="button" name="button" id="button" value="跳转" onClick="CKobject.getObjectById('ckplayer_a1').newAddress(document.getElementById('newaddress').value);" /><br>
</p>
<p>以下是CKoject函数所能做的一些跟播放器无关的事情</p>
<p id="aboutme"></p>
<script type="text/javascript">
var aboutme='';
aboutme+='平台(浏览器)内核:'+CKobject.Platform()+'<br />';
aboutme+='浏览器:'+CKobject.browser()['B']+'<br />';
aboutme+='浏览器版本:'+CKobject.browser()['V']+'<br />';
aboutme+='是否安装了flash插件:'+CKobject.Flash()['f']+'<br />';
if(CKobject.Flash()['f']){
aboutme+='flash插件版本:'+CKobject.Flash()['v']+'<br />';
}
aboutme+='是否支持HTML5:'+CKobject.isHTML5()+'<br />';
CKobject._K_('aboutme').innerHTML=aboutme;
</script>
</body>
</html>