43 |
44 |
45 |
46 |
47 | -
48 |
51 |
52 | -
53 |
54 | 高清电影
55 |
56 |
57 | -
58 |
59 | 云点播
60 |
61 |
62 |
63 | -
64 |
65 | fm电台
66 |
67 |
68 | -
69 |
72 |
73 | -
74 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
91 |
92 |
93 |
94 |
现已支持以下网站视频播放:
95 |
96 |
97 | 
98 | - 乐视TV视频
99 |
100 |
101 | 
102 | - 腾讯视频
103 |
104 |
105 | 
106 | - 优酷视频
107 |
108 |
109 | 
110 | - 土豆视频
111 |
112 |
113 | 
114 | - 56视频
115 |
116 |
117 | 
118 | - 酷6视频
119 |
120 |
121 | 
122 | - WASU华数视频
123 |
124 |
125 | 
126 | - 音悦台MV
127 |
128 |
129 | 
130 | - 芒果TV视频
131 |
132 |
133 | 
134 | - 新浪视频
135 |
136 |
137 | 
138 | - 网易视频
139 |
140 |
141 | 
142 | - 搜狐视频
143 |
144 |
145 | 
146 | - 6间房视频
147 |
148 |
149 | 
150 | - 酷狗MV视频
151 |
152 |
153 | 
154 | - 爆米花视频
155 |
156 |
157 | 
158 | - 凤凰视频
159 |
160 |
161 | 
162 | - 看看新闻网视频
163 |
164 |
165 | 
166 | - 时光网视频
167 |
168 |
169 | 
170 | - 酷我音乐MV视频
171 |
172 |
173 | 
174 | - 1905电影网视频
175 |
176 |
177 | 
178 | - 糖豆视频
179 |
180 |
181 | 
182 | - 央视网
183 |
184 |
近期开放更多,敬请关注...
185 |
186 |
187 |
188 |
189 |
190 |
231 |
232 |
233 |
234 |
--------------------------------------------------------------------------------
/player/ckplayer.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
265 |
--------------------------------------------------------------------------------
/2/swfobjects.js:
--------------------------------------------------------------------------------
1 | /* SWFObject v2.2
2 | is released under the MIT License
3 | */
4 | var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y0){for(var af=0;af0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad'}}aa.outerHTML='";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab "0") {
17 | $ykvid = checkyk($url);
18 | $ykdata = getyk($ykvid,$qxd);
19 | getckxml($ykdata);
20 | exit;
21 | }
22 | }
23 | $id = $_GET["id"];
24 | if ($id && $id != "") {
25 | $ykid = stripos($id, "youku");
26 | if ($ykid > "0") {
27 | $ykidlists = explode(SG, $id);//cq_XOTE4NjE2MzQ4_youku
28 | $arrlen = count($ykidlists);//3
29 | // 判断分割后数组的长度,原本(cq_XOTE4NjE2MzQ4_youku)的长度为3
30 | if ($arrlen != 3) {//如果不等于3,就直接获取id的值,也就是下标为0的值
31 | $ykid = $ykidlists[0];
32 | $ykdata = getyk($ykid,$qxd);
33 | getckxml($ykdata);
34 | //不管有没有清晰度,默认传个空参数,避免有些空间会出错
35 | exit;
36 | }
37 | $qxd = $ykidlists[0];
38 | $ykid = $ykidlists[1];
39 | $ykdata = getyk($ykid,$qxd);
40 | getckxml($ykdata);
41 | exit;
42 | }
43 | }
44 | //调用出错
45 | Get_CW();
46 | //利用分割符来取出优酷vid值
47 | function checkyk($url){
48 | //根据优酷网址的特征,利用下划线来分割,并且取到下标为2的值
49 | $vid = explode('_', $url);
50 | if ($vid[2]){
51 | //接着用点来分割,取出下标为0的值。也就是VID了
52 | $id = explode('.', $vid[2]);
53 | }
54 | if ($id[0]){
55 | //将VID传入取优酷视频信息的方法进行下一步操作
56 | return $id[0];
57 | }
58 | return;
59 | }
60 | function getyk($vid, $qxd){
61 | $api = "http://play.youku.com/play/get.json";
62 | $app = "&ran=";
63 | $ctype = "&ct=".chr(dechex(bindec(X))).chr(dechex(bindec(Y)));
64 | $kurl ="http://k.youku.com/player/getFlvPath/sid/";
65 | $url = $api . "?vid=" . $vid . $ctype . $app . rand(0,9999);
66 | $html = get_curl_contents($url);
67 | $jdata = json_decode($html);
68 | $jdata1 = $jdata->data;
69 | $oip = $jdata1->security->ip;
70 | $ep = $jdata1->security->encrypt_string;
71 | if ($ep =="") {
72 | return "视频不存在!";
73 | exit;
74 | }
75 | $stream = $jdata1->stream;
76 | $st = explode('_', yk_e('becaf9be', yk_na($ep)));
77 | $sid = $st[0];
78 | $token = $st[1];
79 | if ($sid=="") {
80 | echo "sidnull";
81 | return;
82 | }
83 | if ($token=="") {
84 | echo "tokennull";
85 | return;
86 | }
87 | $definition = $stream;
88 | // 当没有传指定清晰度的值的时候,默认输出最高清晰度,所以需要循环视频所有清晰度,然后再取最后一个清晰度。
89 | // 定义一个数组用来存放清晰度数据
90 | $types = array();
91 | // 用foreach循环来把获得的清晰度数据加入到指定数组中 可以用来智能识别清晰度的值
92 | foreach ($definition as $key => $v) {
93 | $stream_type = $v->stream_type;
94 | $audio_lang = $v->audio_lang;
95 | if ($stream_type == "3gphd") {
96 | //3gp清晰度一般用不到,因为是分段的,改成手机端也放不了,所以这里直接跳过
97 | continue;
98 | }
99 | if ($audio_lang == "default" || $audio_lang == "guoyu") {
100 | array_push($types, $stream_type);
101 | }
102 | }
103 | $xhcs = count($types);
104 | $hden2 = array("bq","gq","cq","hd2");
105 | if ($qxd == "") {
106 | $vtype = $hden2[count($types)-1];
107 | $qxurl = $vtype.SG.$vid.HZ;
108 | $vtype = $types[count($types)-1];
109 | }else{
110 | $vtype2 = $qxd;
111 | $qxurl = $vtype2.SG.$vid.HZ;
112 | }
113 |
114 | // 判断是否存在该清晰度
115 | // 重置清晰度的值 将传过来的参数cq/gq/bq/转化成原始清晰度数据
116 | /*如果传的参数含有清晰度则需要进一步判断*/
117 | // 加个if判断,提高效率,如果不加if不管参数是否带清晰度都会执行一次。
118 | if ($vtype2 != "") {
119 | for ($i=0; $i < count($types); $i++) {
120 | if ($hden2[$i] == $vtype2) {
121 | $num = $i;
122 | $vtype = $types[$num];
123 | break;
124 | }
125 | }
126 | // 判断是否存在该清晰度
127 | if ($vtype == "") {
128 | $vtype = $types[count($types)-1];//如果不存在指定的清晰度,则默认输出该视频存在的最高清晰度
129 | }
130 | }
131 | $yktypes = array("flvhd","mp4hd","mp4hd2","mp4hd3");
132 | $ykhd = array("0","1","2","3");
133 | $ykformatname = array("flv","mp4","flv","flv");
134 | $ykclear = array("标清","高清","超清","1080");
135 | $ykarr = array("type"=>$yktypes,"hd"=>$ykhd,"fn"=>$ykformatname,"cl"=>$ykclear);
136 | $title = $jdata1->show->title;
137 | if ($title=="") {
138 | $title = $jdata1->video->title;
139 | }
140 | $xml["data"]["qxurl"] = $qxurl;
141 | $xml["data"]["defa"] = getdefa($xhcs,$vid);
142 | $xml["data"]["deft"] = getdeft($xhcs);
143 | $xml["data"]["phpself"] = $_SERVER['PHP_SELF'];
144 | $xml["data"]["title"] = $title;
145 | foreach ($stream as $key => $v) {
146 | $stream_fileid = $v->stream_fileid;
147 | $stream_type = $v->stream_type;
148 | if ($stream_type == $vtype) {
149 | $segs = $v->segs;
150 | $fileid_1 = substr($stream_fileid, 0, 8);
151 | $fileid_2 = substr($stream_fileid, 10);
152 | for ($i=0; $i < count($types); $i++) {
153 | if ($stream_type == $ykarr["type"][$i]) {
154 | $hd = $ykarr["hd"][$i];
155 | $formatname = $ykarr["fn"][$i];
156 | $clear = $ykarr["cl"][$i];
157 | break;
158 | }
159 | }
160 | $xml["data"]["clear"] = $clear;
161 | foreach ($segs as $k => $value) {
162 | $hex = strtoupper(dechex($k)) ."";
163 | if (strlen($hex) < 2)
164 | $hex = '0' . $hex;
165 | $fileid = $fileid_1 . $hex . $fileid_2;
166 | $ep1 = urlencode(iconv("gbk", "UTF-8", yk_d(yk_e('bf7e5f01', $sid . '_' . $fileid . '_' . $token))));
167 | $key = $value->key;
168 | $ts = $value->total_milliseconds_video;
169 | $downlink = $kurl . $sid ."_".$hex."/st/" . $formatname . "/fileid/" . $fileid. "?K=" . $key . "&hd=".$hd."&myp=0&ts=".intval($ts/1E3). "&ypp=0&ymovie=1&ctype=".str_replace("&ct=", "", $ctype)."&ev=1&token=". $token ."&oip=". $oip ."&ep=". $ep1;
170 | $xml["data"]["url"][$k]["downlink"] = $downlink;
171 | $xml["data"]["url"][$k]["size"] = $value->size;
172 | $xml["data"]["url"][$k]["ts"] = intval($ts/1E3);
173 | }
174 | return $xml;
175 | }
176 | }
177 | return;
178 | }
179 | function getckxml($data){
180 | $ckxml .= "\n";
181 | $ckxml .= "\n";
182 | if ($data["data"]["qxurl"] != "") {
183 | $ckxml .= " \n";
184 | $ckxml .= "{h->3}{a->".$data["data"]["qxurl"]."}{defa->".$data["data"]["defa"]."}{deft->".$data["data"]["deft"]."}{f->".$data["data"]["phpself"]."?id=[\$pat]}\n";
185 | $ckxml .= " \n";
186 | }
187 | if ($data["data"]["title"] != "") {
188 | $ckxml .= " \n";
189 | $ckxml .= " \n";
190 | $ckxml .= " \n";
191 | }
192 | if ($data["data"]["clear"] != "") {
193 | $ckxml .= " \n";
194 | $ckxml .= " \n";
195 | $ckxml .= " \n";
196 | }
197 | if ($data["data"]["createtime"] != "") {
198 | $ckxml .= " \n";
201 | }
202 | foreach ($data["data"]["url"] as $k => $value) {
203 | $downlink = $value["downlink"];
204 | $size = $value["size"];
205 | $ts = $value["ts"];
206 | $ckxml .= " \n";
215 | }
216 | $ckxml .= "";
217 | echo $ckxml;
218 | }
219 | function getdefa($xhcs,$vid){
220 | $hden2 = array("bq","gq","cq","hd2");
221 | for ($i=0; $i < $xhcs; $i++) {
222 | if ($i>0) {
223 | $defa .= "|".$hden2[$i].SG.$vid.HZ;
224 | }else{
225 | $defa .= $hden2[$i].SG.$vid.HZ;
226 | }
227 | }
228 | return $defa;
229 | }
230 | function getdeft($xhcs){
231 | $hdcn = array("标清","高清","超清","1080P");
232 | for ($i=0; $i < $xhcs; $i++) {
233 | if ($i>0) {
234 | $qxd .= "|".$hdcn[$i];
235 | }else{
236 | $qxd .= $hdcn[$i];
237 | }
238 | }
239 | return $qxd;
240 | }
241 | function yk_na($a){
242 | if (!$a)
243 | return "";
244 | $sz = "-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,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,-1,-1,-1,-1,-1,-1,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,-1,-1,-1,-1,-1";
245 | $h = explode(',', $sz);
246 | $i = strlen($a);
247 | $f = 0;
248 | for ($e = ""; $f < $i;) {
249 | do
250 | $c = $h[charCodeAt($a, $f++) & 255]; while ($f < $i && -1 == $c);
251 | if (-1 == $c)
252 | break;
253 | do
254 | $b = $h[charCodeAt($a, $f++) & 255]; while ($f < $i && -1 == $b);
255 | if (-1 == $b)
256 | break;
257 | $e .= fromCharCode($c << 2 | ($b & 48) >> 4);
258 | do {
259 | $c = charCodeAt($a, $f++) & 255;
260 | if (61 == $c)
261 | return $e;
262 | $c = $h[$c];
263 | } while ($f < $i && -1 == $c);
264 | if (-1 == $c)
265 | break;
266 | $e .= fromCharCode(($b & 15) << 4 | ($c & 60) >> 2);
267 | do {
268 | $b = charCodeAt($a, $f++) & 255;
269 | if (61 == $b)
270 | return $e;
271 | $b = $h[$b];
272 | } while ($f < i && -1 == $b);
273 | if (-1 == $b)
274 | break;
275 | $e .= fromCharCode(($c & 3) << 6 | $b);
276 | }
277 | return $e;
278 | }
279 | function yk_d($a){
280 | if (!$a)
281 | return '';
282 | $zm = "abcdefghijklmnopqrstuvwxyz";
283 | $f = strlen($a);
284 | $b = 0;
285 | $str = strtoupper($zm) . strtolower($zm) . '0123456789+/';
286 | for ($c = ''; $b < $f;) {
287 | $e = charCodeAt($a, $b++) & 255;
288 | if ($b == $f) {
289 | $c .= charAt($str, ($e >> 2));
290 | $c .= charAt($str, (($e & 3) << 4));
291 | $c .= "==";
292 | break;
293 | }
294 | $g = charCodeAt($a, $b++);
295 | if ($b == f) {
296 | $c .= charAt($str, ($e >> 2));
297 | $c .= charAt($str, (($e & 3) << 4 | ($g & 240) >> 4));
298 | $c .= charAt($str, (($g & 15) << 2));
299 | $c .= "=";
300 | break;
301 | }
302 | $h = charCodeAt($a, $b++);
303 | $c .= charAt($str, ($e >> 2));
304 | $c .= charAt($str, (($e & 3) << 4 | ($g & 240) >> 4));
305 | $c .= charAt($str, (($g & 15) << 2 | ($h & 192) >> 6));
306 | $c .= charAt($str, ($h & 63));
307 | }
308 | return $c;
309 | }
310 | function yk_e($a, $c){
311 | for ($f = 0, $i, $e = '', $h = 0; 256 > $h; $h++)
312 | $b[$h] = $h;
313 | for ($h = 0; 256 > $h; $h++) {
314 | $f = ($f + $b[$h] + charCodeAt($a, $h % strlen($a))) % 256;
315 | $i = $b[$h];
316 | $b[$h] = $b[$f];
317 | $b[$f] = $i;
318 | }
319 | for ($q = $f = $h = 0; $q < strlen($c); $q++) {
320 | $h = ($h + 1) % 256;
321 | $f = ($f + $b[$h]) % 256;
322 | $i = $b[$h];
323 | $b[$h] = $b[$f];
324 | $b[$f] = $i;
325 | $e .= fromCharCode(charCodeAt($c, $q) ^ $b[($b[$h] + $b[$f]) % 256]);
326 | }
327 | return $e;
328 | }
329 | //接受一个指定的 Unicode 值,然后返回一个字符串
330 | function fromCharCode($codes){
331 | if (is_scalar($codes))
332 | $codes = func_get_args();
333 | $str = '';
334 | foreach ($codes as $code)
335 | $str .= chr($code);
336 | return $str;
337 | }
338 | //返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。
339 | function charCodeAt($str, $index){
340 | static $charCode = array();
341 | $key = md5($str);
342 | $index = $index + 1;
343 | if (isset($charCode[$key])) {
344 | return $charCode[$key][$index];
345 | }
346 | $charCode[$key] = unpack("C*", $str);
347 | return $charCode[$key][$index];
348 | }
349 | /*等价于as3的charAt*/
350 | function charAt($str, $index = 0){
351 | return substr($str, $index, 1);
352 | }
353 | //curl方法
354 | function get_curl_contents($url){
355 | if(!function_exists('curl_init')) die('php.ini未开启php_curl.dll');
356 | $cweb = curl_init();
357 | curl_setopt($cweb,CURLOPT_URL,$url);
358 | curl_setopt($cweb,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36");
359 | curl_setopt($cweb,CURLOPT_HEADER,0);
360 | curl_setopt($cweb,CURLOPT_RETURNTRANSFER, 1);
361 | curl_setopt($cweb,CURLOPT_REFERER,"http://static.youku.com/v1.0.0595/v/swf/player_yknpsv.swf");
362 | curl_setopt($cweb,CURLOPT_COOKIE,base64_decode("Il9feXN1aWQ9Ii50aW1lKCkuIjsi"));
363 | $cnt = curl_exec($cweb);
364 | curl_close($cweb);
365 | return $cnt;
366 | }
367 | function Get_CW(){
368 | header("Content-Type:text/html;charset=utf-8");
369 | echo "illegal parameters!";
370 | exit;
371 | }
372 | ?>
373 |
--------------------------------------------------------------------------------
/api/function/function_core.php:
--------------------------------------------------------------------------------
1 | $v )
29 | {
30 | $headerArr[] = $n . ':' . $v;
31 | }
32 | $ch = curl_init($url);
33 | curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");
34 | curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArr);
35 | curl_setopt($ch, CURLOPT_HEADER, 1);
36 | curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
37 | $result = curl_exec($ch);
38 |
39 |
40 | return $c;
41 | }else{
42 | $user_agent = $_SERVER['HTTP_USER_AGENT'];
43 | $url = eregi_replace('^http://', '', $url);
44 | $temp = explode('/', $url);
45 | $host = array_shift($temp);
46 | $path = '/'.implode('/', $temp);
47 | $temp = explode(':', $host);
48 | $host = $temp[0];
49 | $port = isset($temp[1]) ? $temp[1] : 80;
50 | $fp = @fsockopen($host, $port, $errno, $errstr, 30);
51 | if ($fp){
52 | @fputs($fp, "GET $path HTTP/1.1\r\nHost: $host\r\nAccept: */*\r\nReferer:$url\r\nUser-Agent: $user_agent\r\nConnection: Close\r\n\r\n");
53 | }
54 | $content = '';
55 | while ($str = @fread($fp, 4096)){
56 | $content .= $str;
57 | }
58 | @fclose($fp);
59 |
60 | if(preg_match("/^HTTP\/\d.\d 301 Moved Permanently/is", $content)){
61 | if(preg_match("/Location:(.*?)\r\n/is", $content, $murl)){
62 | return getfile($murl[1]);
63 | }
64 | }
65 |
66 | if(preg_match("/^HTTP\/\d.\d 200 OK/is", $content)){
67 | preg_match("/Content-Type:(.*?)\r\n/is", $content, $murl);
68 | $contentType = trim($murl[1]);
69 | $content = explode("\r\n\r\n", $content, 2);
70 | $content = $content[1];
71 | }
72 | return $content;
73 | }
74 | }else{
75 | $ip=getIP();
76 | $ch = curl_init();
77 | $timeout = 30;
78 | curl_setopt($ch, CURLOPT_URL, $url);
79 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
80 | curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
81 | curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-FORWARDED-FOR:$ip", "CLIENT-IP:$ip")); //构造IP
82 | curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
83 | @$ProxyAddress = !empty($proxy['Address']) ? $proxy['Address'] : PROXY_Address;
84 | if(!empty($ProxyAddress)){
85 | curl_setopt($ch, CURLOPT_PROXY, $ProxyAddress);
86 | @$ProxyPort = !empty($proxy['Address']) ? $proxy['PORT'] : PROXY_PORT;
87 | if(!empty($ProxyPort))curl_setopt($ch, CURLOPT_PROXYPORT, $ProxyPort);
88 | @$Proxy_USER = !empty($proxy['Address']) ? $proxy['USER'] : PROXY_USER;
89 | @$Proxy_PWD = !empty($proxy['Address']) ? $proxy['PWD'] : PROXY_PWD;
90 | if(!empty($Proxy_USER))curl_setopt($ch, CURLOPT_PROXYUSERPWD, $Proxy_USER.':'.$Proxy_PWD);
91 | }
92 | if(!empty($referer))curl_setopt($ch, CURLOPT_REFERER, $referer);
93 | $c = curl_exec($ch);
94 | curl_close($ch);
95 | return $c;
96 | }
97 | }
98 |
99 | function getIP() {
100 | if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
101 | $realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
102 | } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
103 | $realip = $_SERVER['HTTP_CLIENT_IP'];
104 | } else {
105 | $realip = $_SERVER['REMOTE_ADDR'];
106 | }
107 | return $realip;
108 | }
109 |
110 | function proxySet($config){
111 |
112 | define('PROXY_Address', $config['Address']);
113 | define('PROXY_PORT', $config['Port']);
114 | define('PROXY_USER', $config['USER']);
115 | define('PROXY_PWD', $config['PWD']);
116 | }
117 |
118 | function getTimestamp($digits = false){
119 | $digits = $digits > 10 ? $digits : 10;
120 | $digits = $digits - 10;
121 | if((!$digits) || ($digits == 10)){
122 | return time();
123 | }else{
124 | return number_format(microtime(true), $digits, '', '');
125 | }
126 | }
127 |
128 | function kms_iconv($str, $charset_b, $charset_f){
129 | if(!$charset_b || !$charset_f || !$str)return false;
130 |
131 | $charset_b = strtolower($charset_b);
132 | $charset_f = strtolower($charset_f);
133 |
134 | if($charset_b == $charset_f){
135 | return $str;
136 | }else{
137 | $charset_b = $charset_b == 'gbk' ? 'GB18030' : $charset_b;
138 | $charset_f = $charset_f == 'gbk' ? 'GB18030' : $charset_f;
139 | $str = iconv($charset_b, $charset_f, $str);
140 | return $str;
141 | }
142 | }
143 |
144 | function get_ckplayer_xml($video, $url, $key, $type, $_player){
145 |
146 | foreach($_player['ckplayer'] as $config){
147 | $video['flashvars'] = '';
148 | if(isset($config['Proportion']))$video['flashvars'] .= '{wh->'.$config['Proportion'].'}';
149 | if(empty($config['Live']))$video['flashvars'] .= '{lv->'.$config['Live'].'}';
150 | if(isset($config['Volume']))$video['flashvars'] .= '{v->'.$config['Volume'].'}';
151 | if(isset($config['StartSeconds']))$video['flashvars'] .= '{g->'.$config['StartSeconds'].'}';
152 | if(isset($config['EndSeconds']))$video['flashvars'] .= '{j->'.$config['EndSeconds'].'}';
153 | if(isset($config['CuePoints_TIME']))$video['flashvars'] .= '{k->'.$config['CuePoints_TIME'].'}';
154 | if(!empty($config['CuePoints_TEXT']))$video['flashvars'] .= '{n->'.$config['CuePoints_TEXT'].'}';
155 | if(!empty($config['PauseAD_SRC']))$video['flashvars'] .= '{d->'.$config['PauseAD_SRC'].'}';
156 | if(!empty($config['PauseAD_IMGURL']))$video['flashvars'] .= '{u->'.$config['PauseAD_IMGURL'].'}';
157 | if(!empty($config['BufferAD']))$video['flashvars'] .= '{z->'.$config['BufferAD'].'}';
158 | if(isset($config['EndAction']))$video['flashvars'] .= '{e->'.$config['EndAction'].'}';
159 | if(isset($config['DefaultAction']))$video['flashvars'] .= '{p->'.$config['DefaultAction'].'}';
160 | if(!empty($config['DefaultAction_MASK']))$video['flashvars'] .= '{i->'.$config['DefaultAction_MASK'].'}';
161 | $config['VideoDragStr'] = !empty($video['VideoDragStr']) ? $video['VideoDragStr'] : $config['VideoDragStr'];
162 | if(isset($config['VideoDragStr']))$video['flashvars'] .= '{q->'.$config['VideoDragStr'].'}';
163 | $config['DragMethod'] = !empty($video['DragMethod']) ? $video['DragMethod'] : $config['DragMethod'];
164 | if(isset($config['DragMethod']))$video['flashvars'] .= '{h->'.$config['DragMethod'].'}';
165 | if($config['Plugins']['hds']['IO'] == 1){
166 | if(!isset($video['Nowhds']))$video['Nowhds'] = 3;
167 | if(!isset($video['mixhds']))$video['mixhds'] = 3;
168 | $video['Nowhds'] = min($video['Nowhds'], $video['mixhds']);
169 | $video['mixhds'] = min($video['mixhds'],4);
170 | if(!empty($key)){
171 | if($config['Plugins']['hds']['Developer'] == 2){
172 | $video['flashvars'] .= '{f->'.HOST_URL.'?v=[$pat]}';
173 | }else{
174 | $video['flashvars'] .= '{f->'.HOST_URL.'?v=[$pat'.$video['Nowhds'].']}';
175 | }
176 |
177 | switch($video['mixhds']){
178 |
179 | case '1':
180 | $a = $key.'_'.$type.'.0';
181 | break;
182 | case '2':
183 | $a = $key.'_'.$type.'.0|'.$key.'_'.$type.'.1';
184 | break;
185 | case '3':
186 | $a = $key.'_'.$type.'.0|'.$key.'_'.$type.'.1|'.$key.'_'.$type.'.2';
187 | break;
188 | case '4':
189 | $a = $key.'_'.$type.'.0|'.$key.'_'.$type.'.1|'.$key.'_'.$type.'.2|'.$key.'_'.$type.'.3';
190 | break;
191 | default:
192 | $a = $key.'_'.$type;
193 | break;
194 | }
195 | }else{
196 | if($config['Plugins']['hds']['Developer'] == 2){
197 | $video['flashvars'] .= '{f->'.HOST_URL.'?v=[$pat]}';
198 | }else{
199 | $video['flashvars'] .= '{f->'.HOST_URL.'?v=[$pat'.$video['Nowhds'].']}';
200 | }
201 | switch($video['mixhds']){
202 | case '1':
203 | $a = base64_encode($url).'&hdstyle=0';
204 | break;
205 | case '2':
206 | $a = base64_encode($url).'&hdstyle=0|'.base64_encode($url).'&hdstyle=1';
207 | break;
208 | case '3':
209 | $a = base64_encode($url).'&hdstyle=0|'.base64_encode($url).'&hdstyle=1|'.base64_encode($url).'&hdstyle=2';
210 | break;
211 | case '4':
212 | $a = base64_encode($url).'&hdstyle=0|'.base64_encode($url).'&hdstyle=1|'.base64_encode($url).'&hdstyle=2|'.base64_encode($url).'&hdstyle=3';
213 | break;
214 | default:
215 | $a = base64_encode($url);
216 | break;
217 |
218 | }
219 | }
220 | }else{
221 | $video['flashvars'] .= '{f->'.HOST_URL.'?v=[$pat]}';
222 |
223 | $a = !empty($key) ? $key.'_'.$type : base64_encode($url);
224 | }
225 | if($config['Plugins']['hds']['Developer'] == 2){
226 | if(!empty($key)){
227 | $ra = $key.'_'.$type.'.'.$video['Nowhds'];
228 | }else{
229 | $ra = base64_encode($url).'&hdstyle='.$video['Nowhds'];
230 | }
231 | $Tcount = min(count($config['Plugins']['hds']['name']), $video['mixhds']);
232 | switch($Tcount){
233 | case '1':
234 | $deft = base64_decode($config['Plugins']['hds']['name'][0]);
235 | break;
236 | case '2':
237 | $deft = base64_decode($config['Plugins']['hds']['name'][0]).'|'.base64_decode($config['Plugins']['hds']['name'][1]);
238 | break;
239 | case '3':
240 | $deft =base64_decode($config['Plugins']['hds']['name'][0]).'|'.base64_decode($config['Plugins']['hds']['name'][1]).'|'.base64_decode($config['Plugins']['hds']['name'][2]);
241 | break;
242 | case 4:
243 | $deft = base64_decode($config['Plugins']['hds']['name'][0]).'|'.base64_decode($config['Plugins']['hds']['name'][1]).'|'.base64_decode($config['Plugins']['hds']['name'][2]).'|'.base64_decode($config['Plugins']['hds']['name'][3]);
244 | break;
245 | default:
246 | $deft = base64_decode($config['Plugins']['hds']['name'][0]);
247 | break;
248 | }
249 | $video['flashvars'] .= '{a->'.$ra.'}{defa->'.$a.'}{deft->'.$deft.'}';
250 | }else{
251 | $video['flashvars'] .= '{a->'.$a.'}';
252 | }
253 | }
254 | $xml .= ''.chr(13);
255 | $xml .= ' '.chr(13);
256 | if(!empty($video['name']))$xml .= ' '.chr(13);
257 | $xml .= ' '.chr(13);
258 | if(!empty($video['subject']))$xml .= ' '.chr(13);
259 | if(!empty($video['videourl']))$xml .= ' '.chr(13);
260 | $xml .= ' '.chr(13);
261 | $xml .= ' '.chr(13);
264 | $xml .= ' '.chr(13);
271 | $xml .= ' ';
272 |
273 | return $xml;
274 | }
275 |
276 | function get_cmp4_merge($video, $key, $type){
277 |
278 | $starttype = 0;
279 |
280 | $xml = ''.chr(13);
281 |
282 | @$xml .= ''.chr(13);
283 | foreach($video['data'] as $value){
284 | @$xml .= ' '.chr(13);
285 | }
286 | $xml .= '';
287 |
288 | return $xml;
289 | }
290 |
291 | function kms_matchs($haystack, $needle){
292 | if(is_array($needle)){
293 | foreach($needle as $need){
294 | if($haystack === $need)return true;
295 | }
296 | }else{
297 | if($haystack === $needle)return true;
298 | }
299 |
300 | return false;
301 | }
302 |
303 |
304 | function kms_strpos($haystack, $needle){
305 | if(is_array($needle)){
306 | foreach($needle as $need){
307 | if(strpos($haystack, $need) !== false)return true;
308 | }
309 | }else{
310 | if(strpos($haystack, $needle) !== false)return true;
311 | }
312 |
313 | return false;
314 | }
315 |
316 | function timedtos($val){
317 |
318 | $timelongarr = array_reverse(explode(":", $val));
319 |
320 | $cx = array(1,60,3600);
321 | for($i=0; $ivideo/mp4';
422 | $list = $backup.$video['data'][0]['src'];
423 | return $list;
424 | }
425 |
426 | function CreateMp4($video, $_player){
427 | if(empty($video['data'][0]['src']) && empty($video['data'][0]['bpsrc']))die();
428 | $backup = !empty($video['data'][0]['bpsrc']) ? $video['data'][0]['bpsrc'] : null;
429 | if(!empty($backup))$backup = !empty($video['data'][0]['src']) ? $backup.',' : $backup;
430 | if(strpos($video['data'][0]['src'], '.m3u8') === false)$video['data'][0]['src'] = $video['data'][0]['src'];
431 | $list = $backup.$video['data'][0]['src'];
432 | return $list;
433 | }
434 |
435 | function b64UrlCheck($url){
436 | $check = parse_url(base64_decode($url));
437 | if(empty($check['host']) || empty($check['path']))$ckeck = parse_url('http://'.base64_decode($url));
438 | if(!empty($check['host']) && !empty($check['path']))return true;
439 | return false;
440 | }
441 |
442 | function isMobile(){
443 | $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
444 | $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';
445 | function CheckSubstrs($substrs,$text){
446 | foreach($substrs as $substr)
447 | if(false!==strpos($text,$substr)){
448 | return true;
449 | }
450 | return false;
451 | }
452 | $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
453 | $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');
454 |
455 | $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||
456 | CheckSubstrs($mobile_token_list,$useragent);
457 |
458 | if ($found_mobile){
459 | return true;
460 | }else{
461 | return false;
462 | }
463 | }
464 |
465 | ?>
--------------------------------------------------------------------------------
/2/ckplayer.js:
--------------------------------------------------------------------------------
1 | function ckcpt() {
2 | var cpt = '';
3 | cpt += 'definition.swf,2,2,-275,-61,2,1|';
4 | cpt += 'share.swf,1,1,-180,-100,3,0|';
5 | cpt += 'adjustment.swf,1,1,-180,-100,3,0|';
6 | return cpt;
7 | }
8 | function ckstyle() {
9 | var ck = {
10 | cpath: '',
11 | language: '',
12 | flashvars: '',
13 | setup: '1,1,1,1,1,2,0,1,0,0,0,1,200,0,2,1,0,1,1,1,2,10,3,0,1,2,3000,0,0,0,0,1,1,1,1,1,1,250,0,90,0,0,0',
14 | pm_bg: '0x000000,100,230,180',
15 | mylogo: 'logo.swf',
16 | pm_mylogo: '1,1,-175,-80',
17 | logo: 'cklogo.png',
18 | pm_logo: '2,0,-140,0',
19 | control_rel: 'related.swf,ckplayer/related.xml,0',
20 | control_pv: 'Preview.swf,105,2000',
21 | pm_repc: '',
22 | pm_spac: '|',
23 | pm_fpac: 'file->f',
24 | pm_advtime: '2,0,-110,10,0,300,0',
25 | pm_advstatus: '1,2,2,-200,-40',
26 | pm_advjp: '1,1,2,2,-100,-40',
27 | pm_padvc: '2,0,-10,-10',
28 | pm_advms: '2,2,-46,-56',
29 | pm_zip: '1,1,-20,-8,1,0,0',
30 | pm_advmarquee: '1,2,50,-60,50,20,0,0x000000,50,0,20,1,30,2000',
31 | pm_glowfilter:'1,0x01485d, 100, 6, 3, 10, 1, 0, 0',
32 | advmarquee: escape('{a href="http://www.72blog.com"}{font color="#FFFFFF" size="12"}72blog欢迎您的光临!{/font}{/a}'),
33 | mainfuntion:'',
34 | flashplayer:'',
35 | calljs:'ckplayer_status,ckadjump,playerstop,ckmarqueeadv',
36 | myweb: escape(''),
37 | cpt_lights: '1',
38 | cpt_share: 'ckplayer/share.xml',
39 | cpt_list: ckcpt()
40 | }
41 | return ck;
42 | }
43 | (function() {
44 | var CKobject = {
45 | _K_: function(d){return document.getElementById(d);},
46 | _T_: false,
47 | _M_: false,
48 | _G_: false,
49 | _Y_: false,
50 | _I_: null,
51 | _J_: 0,
52 | _O_: {},
53 | uaMatch:function(u,rMsie,rFirefox,rOpera,rChrome,rSafari,rSafari2,mozilla,mobile){
54 | var match = rMsie.exec(u);
55 | if (match != null) {
56 | return {
57 | b: 'IE',
58 | v: match[2] || '0'
59 | }
60 | }
61 | match = rFirefox.exec(u);
62 | if (match != null) {
63 | return {
64 | b: match[1] || '',
65 | v: match[2] || '0'
66 | }
67 | }
68 | match = rOpera.exec(u);
69 | if (match != null) {
70 | return {
71 | b: match[1] || '',
72 | v: match[2] || '0'
73 | }
74 | }
75 | match = rChrome.exec(u);
76 | if (match != null) {
77 | return {
78 | b: match[1] || '',
79 | v: match[2] || '0'
80 | }
81 | }
82 | match = rSafari.exec(u);
83 | if (match != null) {
84 | return {
85 | b: match[2] || '',
86 | v: match[1] || '0'
87 | }
88 | }
89 | match = rSafari2.exec(u);
90 | if (match != null) {
91 | return {
92 | b: match[1] || '',
93 | v: match[2] || '0'
94 | }
95 | }
96 | match = mozilla.exec(u);
97 | if (match != null) {
98 | return {
99 | b: match[1] || '',
100 | v: match[2] || '0'
101 | }
102 | }
103 | match = mobile.exec(u);
104 | if (match != null) {
105 | return {
106 | b: match[1] || '',
107 | v: match[2] || '0'
108 | }
109 | }
110 | else {
111 | return {
112 | b: 'unknown',
113 | v: '0'
114 | }
115 | }
116 | },
117 | browser: function() {
118 | var u = navigator.userAgent,
119 | rMsie = /(msie\s|trident.*rv:)([\w.]+)/,
120 | rFirefox = /(firefox)\/([\w.]+)/,
121 | rOpera = /(opera).+version\/([\w.]+)/,
122 | rChrome = /(chrome)\/([\w.]+)/,
123 | rSafari = /version\/([\w.]+).*(safari)/,
124 | rSafari2 = /(safari)\/([\w.]+)/,
125 | mozilla = /(mozilla)\/([\w.]+)/,
126 | mobile = /(mobile)\/([\w.]+)/;
127 | var c = u.toLowerCase();
128 | var d = this.uaMatch(c,rMsie,rFirefox,rOpera,rChrome,rSafari,rSafari2,mozilla,mobile);
129 | if (d.b) {
130 | b = d.b;
131 | v = d.v;
132 | }
133 | return {B: b, V: v};
134 | },
135 | Platform: function() {
136 | var w = '';
137 | var u = navigator.userAgent,
138 | app = navigator.appVersion;
139 | var b = {
140 | iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
141 | iPad: u.indexOf('iPad') > -1,
142 | ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
143 | android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
144 | webKit: u.indexOf('AppleWebKit') > -1,
145 | trident: u.indexOf('Trident') > -1,
146 | gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
147 | presto: u.indexOf('Presto') > -1,
148 | mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
149 | webApp: u.indexOf('Safari') == -1
150 | };
151 | for (var k in b) {
152 | if (b[k]) {
153 | w = k;
154 | break;
155 | }
156 | }
157 | return w;
158 | },
159 | isHTML5:function(){
160 | return !!document.createElement('video').canPlayType;
161 | },
162 | getType:function(){
163 | return this._T_;
164 | },
165 | getVideo: function() {
166 | var v = '';
167 | var s = this._E_['v'];
168 | if (s && s.length>1) {
169 | for (var i = 0; i < s.length; i++) {
170 | var a = s[i].split('->');
171 | if (a.length >= 1 && a[0] != '') {
172 | v += '= 2 && a[1] != '') {
175 | v += ' type="' + a[1] + '"';
176 | }
177 | v += '>';
178 | }
179 | }
180 | return v;
181 | },
182 | getVars: function(k) {
183 | var o=this._A_;
184 | if (typeof(o) == 'undefined') {
185 | return null;
186 | }
187 | if (k in o) {
188 | return o[k];
189 | } else {
190 | return null;
191 | }
192 | },
193 | getParams: function() {
194 | var p = '';
195 | if (this._A_) {
196 | if (parseInt(this.getVars('p')) == 1) {
197 | p += ' autoplay="autoplay"';
198 | }
199 | if (parseInt(this.getVars('e')) == 1) {
200 | p += ' loop="loop"';
201 | }
202 | if (parseInt(this.getVars('p')) == 2) {
203 | p += ' preload="metadata"';
204 | }
205 | if (this.getVars('i')) {
206 | p += ' poster="' + this.getVars('i') + '"';
207 | }
208 | }
209 | return p;
210 | },
211 | getpath: function(z) {
212 | var f='CDEFGHIJKLMNOPQRSTUVWXYZcdefghijklmnopqrstuvwxyz';
213 | var w=z.substr(0,1);
214 | if(f.indexOf(w)>-1 && (z.substr(0,4)==w+'://' || z.substr(0,4)==w+':\\')){
215 | return z;
216 | }
217 | var d = unescape(window.location.href).replace('file:///', '');
218 | var k = parseInt(document.location.port);
219 | var u = document.location.protocol + '//' + document.location.hostname;
220 | var l = '',
221 | e = '',
222 | t = '';
223 | var s = 0;
224 | var r = unescape(z).split('//');
225 | if (r.length > 0) {
226 | l = r[0] + '//'
227 | }
228 | var h = 'http|https|ftp|rtsp|mms|ftp|rtmp|file';
229 | var a = h.split('|');
230 | if (k != 80 && k) {
231 | u += ':' + k;
232 | }
233 | for (i = 0; i < a.length; i++) {
234 | if ((a[i] + '://') == l) {
235 | s = 1;
236 | break;
237 | }
238 | }
239 | if (s == 0) {
240 | if (z.substr(0, 1) == '/') {
241 | t = u + z;
242 | } else {
243 | e = d.substring(0, d.lastIndexOf('/') + 1).replace('\\', '/');
244 | var w = z.replace('../', './');
245 | var u = w.split('./');
246 | var n = u.length;
247 | var r = w.replace('./', '');
248 | var q = e.split('/');
249 | var j = q.length - n;
250 | for (i = 0; i < j; i++) {
251 | t += q[i] + '/';
252 | }
253 | t += r;
254 | }
255 | } else {
256 | t = z;
257 | }
258 | return t;
259 | },
260 | getXhr: function() {
261 | var x;
262 | try {
263 | x = new ActiveXObject('Msxml2.XMLHTTP');
264 | } catch(e) {
265 | try {
266 | x = new ActiveXObject('Microsoft.XMLHTTP');
267 | } catch(e) {
268 | x = false;
269 | }
270 | }
271 | if (!x && typeof XMLHttpRequest != 'undefined') {
272 | x = new XMLHttpRequest();
273 | }
274 | return x;
275 | },
276 | getX: function(){
277 | var f='ckstyle()';
278 | if (this.getVars('x') && parseInt(this.getVars('c'))!=1 ) {
279 | f=this.getVars('x')+'()';
280 | }
281 | try {
282 | if (typeof(eval(f)) == 'object') {
283 | this._X_ = eval(f);
284 | }
285 | } catch(e) {
286 | try {
287 | if (typeof(eval(ckstyle)) == 'object') {
288 | this._X_ = ckstyle();
289 | }
290 | } catch(e) {
291 | this._X_ = ckstyle();
292 | }
293 | }
294 | },
295 | getSn: function(s, n) {
296 | if(n>=0){
297 | return this._X_[s].split(',')[n];
298 | }
299 | else{
300 | return this._X_[s];
301 | }
302 | },
303 | getUrl: function(L, B) {
304 | var b = ['get', 'utf-8'];
305 | if (L && L.length == 2) {
306 | var a = L[0];
307 | var c = L[1].split('/');
308 | if (c.length >= 2) {
309 | b[0] = c[1];
310 | }
311 | if (c.length >= 3) {
312 | b[1] = c[2];
313 | }
314 | this.ajax(b[0], b[1], a,
315 | function(s) {
316 | var C = CKobject;
317 | if (s && s != 'error') {
318 | var d = '',
319 | e = s;
320 | if (s.indexOf('}') > -1) {
321 | var f = s.split('}');
322 | for (var i = 0; i < f.length - 1; i++) {
323 | d += f[i] + '}';
324 | var h = f[i].replace('{', '').split('->');
325 | if (h.length == 2) {
326 | C._A_[h[0]] = h[1];
327 | }
328 | }
329 | e = f[f.length - 1];
330 | }
331 | C._E_['v'] = e.split(',');
332 | if (B) {
333 | C.showHtml5();
334 | } else {
335 | C.changeParams(d);
336 | C.newAdr();
337 | }
338 | }
339 | });
340 | }
341 | },
342 | getflashvars: function(s) {
343 | var v = '',
344 | i = 0;
345 | if (s) {
346 | for (var k in s) {
347 | if (i > 0) {
348 | v += '&';
349 | }
350 | if (k == 'f' && s[k] && ! this.getSn('pm_repc',-1)) {
351 | s[k] = this.getpath(s[k]);
352 | if (s[k].indexOf('&') > -1) {
353 | s[k] = encodeURIComponent(s[k]);
354 | }
355 | }
356 | if (k == 'y' && s[k]) {
357 | s[k] = this.getpath(s[k]);
358 | }
359 | v += k + '=' + s[k];
360 | i++;
361 | }
362 | }
363 | return v;
364 | },
365 | getparam: function(s) {
366 | var w = '',
367 | v = '',
368 | o = {
369 | allowScriptAccess: 'always',
370 | allowFullScreen: true,
371 | quality: 'high',
372 | bgcolor: '#000'
373 | };
374 | if (s) {
375 | for (var k in s) {
376 | o[k] = s[k];
377 | }
378 | }
379 | for (var e in o) {
380 | w += e + '="' + o[e] + '" ';
381 | v += '';
382 | }
383 | w = w.replace('movie=', 'src=');
384 | return {
385 | w: w,
386 | v: v
387 | };
388 | },
389 | getObjectById: function(s) {
390 | if (this._T_) {
391 | return this;
392 | }
393 | var x = null,
394 | y = this._K_(s),
395 | r = 'embed';
396 | if (y && y.nodeName == 'OBJECT') {
397 | if (typeof y.SetVariable != 'undefined') {
398 | x= y;
399 | } else {
400 | var z = y.getElementsByTagName(r)[0];
401 | if (z) {
402 | x= z;
403 | }
404 | }
405 | }
406 | return x;
407 | },
408 | ajax: function(b, u, s, f) {
409 | var x = this.getXhr();
410 | var a = [],
411 | m = '';
412 | if (b == 'get') {
413 | if (s.indexOf('?') > -1) {
414 | m = s + '&t=' + new Date().getTime();
415 | } else {
416 | m = s + '?t=' + new Date().getTime();
417 | }
418 | x.open('get', m);
419 | } else {
420 | a = s.split('?');
421 | s = a[0],
422 | m = a[1];
423 | x.open('post', s, true);
424 | }
425 | x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
426 | x.setRequestHeader('charset', u);
427 | if (b == 'post') {
428 | x.send(m);
429 | } else {
430 | x.send(null);
431 | }
432 | x.onreadystatechange = function() {
433 | if (x.readyState == 4) {
434 | var g = x.responseText;
435 | if (g != '') {
436 | f(g);
437 | } else {
438 | f(null);
439 | }
440 | }
441 | }
442 | },
443 | addListener: function(e, f) {
444 | var o=CKobject._V_;
445 | if (o.addEventListener) {
446 | try{
447 | o.addEventListener(e, f, false);
448 | }
449 | catch (e) {
450 | this.getNot();
451 | }
452 | }
453 | else if (o.attachEvent) {
454 | try{
455 | o.attachEvent('on' + e, f);
456 | }
457 | catch(e){
458 | this.getNot();
459 | }
460 | }
461 | else {
462 | o['on' + e] = f;
463 | }
464 | },
465 | removeListener: function( e, f) {
466 | var o=CKobject._V_;
467 | if (o.removeEventListener) {
468 | try{
469 | o.removeEventListener(e, f, false);
470 | }
471 | catch(e){
472 | this.getNot();
473 | }
474 | }
475 | else if (o.detachEvent) {
476 | try{
477 | o.detachEvent('on' + e, f);
478 | }
479 | catch(e){
480 | this.getNot();
481 | }
482 | }
483 | else {
484 | o['on' + e] = null;
485 | }
486 | },
487 | Flash: function() {
488 | var f = false,v = 0;
489 | if (document.all || this.browser()['B'].toLowerCase().indexOf('ie')>-1) {
490 | try {
491 | var s = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
492 | f = true;
493 | var z = s.GetVariable('$version');
494 | v = parseInt(z.split(' ')[1].split(',')[0]);
495 | } catch(e) {}
496 | } else {
497 | if (navigator.plugins && navigator.plugins.length > 0) {
498 | var s = navigator.plugins['Shockwave Flash'];
499 | if (s) {
500 | f = true;
501 | var w = s.description.split(' ');
502 | for (var i = 0; i < w.length; ++i) {
503 | if (isNaN(parseInt(w[i]))) continue;
504 | v = parseInt(w[i]);
505 | }
506 | }
507 | }
508 | }
509 | return {
510 | f: f,
511 | v: v
512 | };
513 | },
514 | embed:function(f,d,i,w,h,b,v,e,p,j){
515 | var s=['all'];
516 | if(b){
517 | if(this.isHTML5()){
518 | this.embedHTML5(d,i,w,h,e,v,s,j);
519 | }
520 | else{
521 | this.embedSWF(f,d,i,w,h,v,p);
522 | }
523 | }
524 | else{
525 | if(this.Flash()['f'] && parseInt(this.Flash()['v'])>10){
526 | this.embedSWF(f,d,i,w,h,v,p);
527 | }
528 | else if(this.isHTML5()){
529 | this.embedHTML5(d,i,w,h,e,v,s,j);
530 | }
531 | else{
532 | this.embedSWF(f,d,i,w,h,v,p);
533 | }
534 | }
535 | },
536 | embedSWF: function(C, D, N, W, H, V, P) {
537 | if (!N) {
538 | N = 'ckplayer_a1'
539 | }
540 | if (!P) {
541 | P = {
542 | bgcolor: '#FFF',
543 | allowFullScreen: true,
544 | allowScriptAccess: 'always',
545 | wmode:'transparent'
546 | };
547 | }
548 | this._A_=V;
549 | this.getX();
550 | var u = 'undefined',
551 | g = false,
552 | j = document,
553 | r = 'http://www.macromedia.com/go/getflashplayer',
554 | t = '请点击此处下载安装最新的flash插件',
555 | error = {
556 | w: '您的网页不符合w3c标准,无法显示播放器',
557 | f: '您没有安装flash插件,无法播放视频,' + t,
558 | v: '您的flash插件版本过低,无法播放视频,' + t
559 | },
560 | w3c = typeof j.getElementById != u && typeof j.getElementsByTagName != u && typeof j.createElement != u,
561 | i = 'id="' + N + '" name="' + N + '" ',
562 | s = '',
563 | l = '';
564 | P['movie'] = C;
565 | P['flashvars'] = this.getflashvars(V);
566 | if(W==-1){
567 | d=true;
568 | this._K_(D).style.width='100%';
569 | W='100%';
570 | }
571 | s += '';
584 | if (!w3c) {
585 | l = error['w'];
586 | g = true;
587 | } else {
588 | if (!this.Flash()['f']) {
589 | l = error['f'];
590 | g = true;
591 | } else {
592 | if (this.Flash()['v'] < 11) {
593 | l = error['v'];
594 | g = true;
595 | } else {
596 | l = s;
597 | this._T_=false;
598 | }
599 | }
600 | }
601 | if (l) {
602 | this._K_(D).innerHTML = l;
603 | }
604 | if (g){
605 | this._K_(D).style.color = '#0066cc';
606 | this._K_(D).style.lineHeight = this._K_(D).style.height;
607 | this._K_(D).style.textAlign= 'center';
608 | }
609 | },
610 | embedHTML5: function(C, P, W, H, V, A, S, J) {
611 | this._E_ = {
612 | c: C,
613 | p: P,
614 | w: W,
615 | h: H,
616 | v: V,
617 | s: S,
618 | j: J==undefined || J?true:false
619 | };
620 | this._A_ = A;
621 | this.getX();
622 | b = this.browser()['B'],
623 | v = this.browser()['V'],
624 | x = v.split('.'),
625 | t = x[0],
626 | m = b + v,
627 | n = b + t,
628 | w = '',
629 | s = false,
630 | f = this.Flash()['f'],
631 | a = false;
632 | if (!S) {
633 | S = ['iPad', 'iPhone', 'ios'];
634 | }
635 | for (var i = 0; i < S.length; i++) {
636 | w = S[i];
637 | if (w.toLowerCase() == 'all') {
638 | s = true;
639 | break;
640 | }
641 | if (w.toLowerCase() == 'all+false' && !f) {
642 | s = true;
643 | break;
644 | }
645 | if (w.indexOf('+') > -1) {
646 | w = w.split('+')[0];
647 | a = true;
648 | } else {
649 | a = false;
650 | }
651 | if (this.Platform() == w || m == w || n == w || b == w) {
652 | if (a) {
653 | if (!f) {
654 | s = true;
655 | break;
656 | }
657 | }else {
658 | s = true;
659 | break;
660 | }
661 | }
662 | }
663 | if (s) {
664 | if (V) {
665 | var l = V[0].split('->');
666 | if (l && l.length == 2 && l[1].indexOf('ajax') > -1) {
667 | this.getUrl(l, true);
668 | return;
669 | }
670 | }
671 | this.showHtml5();
672 | }
673 | },
674 | status: function() {
675 | this._H_ = parseInt(this.getSn('setup', 20));
676 | var f='ckplayer_status';
677 | if (this.getSn('calljs', 0)!='') {
678 | f=this.getSn('calljs', 0);
679 | }
680 | try {
681 | if (typeof(eval(f)) == 'function') {
682 | this._L_=eval(f);
683 | this._M_=true;
684 | return true;
685 | }
686 | } catch(e) {
687 | try {
688 | if (typeof(eval(ckplayer_status)) == 'function') {
689 | this._L_=ckplayer_status;
690 | this._M_=true;
691 | return true;
692 | }
693 | } catch(e) {
694 | return false;
695 | }
696 | }
697 | return false;
698 | },
699 | showHtml5: function() {
700 | var C = CKobject;
701 | var p = C._E_['p'],
702 | a = C._E_['v'],
703 | c = C._E_['c'],
704 | j = '',
705 | b = false;
706 | var s = this._E_['v'];
707 | var w=C._E_['w'],h=C._E_['h'];
708 | var d=false;
709 | var r='';
710 | if(s.length==1){
711 | r=' src="'+s[0].split('->')[0]+'"';
712 | }
713 | if(w==-1){
714 | d=true;
715 | C._K_(c).style.width='100%';
716 | w='100%';
717 | }
718 | if(w.toString().indexOf('%')>-1){
719 | w='100%';
720 | }
721 | if(h.toString().indexOf('%')>-1){
722 | h='100%';
723 | }
724 | if(C._E_['j']){
725 | j='controls="controls"';
726 | }
727 | var v = '';
728 | C._K_(c).innerHTML = v;
729 | C._K_(c).style.backgroundColor = '#000';
730 | C._V_ = C._K_(p);
731 | if(!d){
732 | C._K_(c).style.width=C._E_['w'].toString().indexOf('%')>-1?(C._K_(c).offsetWidth*parseInt(C._E_['w'])*0.01)+'px':C._V_.width+'px';
733 | C._K_(c).style.height=C._E_['h'].toString().indexOf('%')>-1?(C._K_(c).offsetHeight*parseInt(C._E_['h'])*0.01)+'px':C._V_.height+'px';
734 | }
735 | C._P_ = false;
736 | C._T_ = true;
737 | if (C.getVars('loaded')!='') {
738 | var f=C.getVars('loaded')+'()';
739 | try {
740 | if (typeof(eval(f)) == 'function') {
741 | eval(f);
742 | }
743 | } catch(e) {
744 | try {
745 | if (typeof(eval(loadedHandler)) == 'function') {
746 | loadedHandler();
747 | }
748 | } catch(e) {
749 | }
750 | }
751 | }
752 | C.status();
753 | C.addListener('play', C.playHandler);
754 | C.addListener('pause', C.playHandler);
755 | C.addListener('error', C.errorHandler);
756 | C.addListener('emptied', C.errorHandler);
757 | C.addListener('loadedmetadata', C.loadedMetadataHandler);
758 | C.addListener('ended', C.endedHandler);
759 | C.addListener('volumechange', C.volumeChangeHandler);
760 | if((C.getVars('m')!='' && C.getVars('m')!=null) || parseInt( C.getSn('setup', 0))>0){
761 | C._K_(c).style.cursor='pointer';
762 | }
763 | if((C.getVars('m')!='' && C.getVars('m')!=null) || parseInt( C.getSn('setup', 1))==1){
764 | C.addListener('click', C.html5Click);
765 | }
766 | },
767 | videoPlay: function() {
768 | if (this._T_) {
769 | this._V_.play();
770 | }
771 | },
772 | videoPause: function() {
773 | if (this._T_) {
774 | this._V_.pause();
775 | }
776 | },
777 | playOrPause: function() {
778 | if (this._T_) {
779 | if (this._V_.paused) {
780 | this._V_.play();
781 | } else {
782 | this._V_.pause();
783 | }
784 | }
785 | },
786 | fastNext: function() {
787 | if (this._T_) {
788 | this._V_['currentTime'] = this._V_['currentTime'] + 10;
789 | }
790 | },
791 | fastBack: function() {
792 | if (this._T_) {
793 | this._V_['currentTime'] = this._V_['currentTime'] - 10;
794 | }
795 | },
796 | changeVolume: function(n) {
797 | if (this._T_) {
798 | this._V_['volume'] = n * 0.01;
799 | }
800 | },
801 | videoSeek: function(t) {
802 | if (this._T_) {
803 | this._V_['currentTime'] = t;
804 | }
805 | },
806 | newAddress: function(u) {
807 | var s = [];
808 | if (u) {
809 | s = this.isHtml5New(u);
810 | } else {
811 | return;
812 | }
813 | if (s && this._T_) {
814 | this.changeParams(u);
815 | var l = s[0].split('->');
816 | if (l && l.length == 2 && l[1].indexOf('ajax') > -1) {
817 | this.getUrl(l, false);
818 | return;
819 | }
820 | this._E_['v'] = s;
821 | this.newAdr();
822 | }
823 | },
824 | quitFullScreen:function() {
825 | if(document.cancelFullScreen) {
826 | document.cancelFullScreen();
827 | }
828 | else if(document.mozCancelFullScreen) {
829 | document.mozCancelFullScreen();
830 | } else if(document.webkitCancelFullScreen) {
831 | document.webkitCancelFullScreen();
832 | }
833 |
834 | },
835 | changeStatus:function(n){
836 | this._H_=n;
837 | },
838 | newAdr: function() {
839 | var s = this._E_['v'];
840 | this._V_.pause();
841 | if(s.length==1){
842 | this._V_.src=s[0].split('->')[0];
843 | }
844 | else{
845 | this._V_['innerHTML'] = this.getVideo();
846 | }
847 | this._V_.load();
848 | },
849 | isHtml5New: function(s) {
850 | if (s.indexOf('html5') == -1) {
851 | return false;
852 | }
853 | var a = s.replace(/{/g, '');
854 | var b = a.split('}');
855 | var c = '';
856 | for (var i = 0; i < b.length; i++) {
857 | if (b[i].indexOf('html5') > -1) {
858 | c = b[i].replace('html5->', '').split(',');
859 | break;
860 | }
861 | }
862 | return c;
863 | },
864 | changeParams: function(f) {
865 | if (f) {
866 | var a = f.replace(/{/g, '');
867 | var b = a.split('}');
868 | var c = '';
869 | for (var i = 0; i < b.length; i++) {
870 | var d = b[i].split('->');
871 | if(d.length == 2){
872 | switch(d[0]){
873 | case 'p':
874 | if(parseInt(d[1]) == 1){
875 | this._V_.autoplay = true;
876 | }
877 | else if(parseInt(d[1]) == 2){
878 | this._V_.preload = 'metadata';
879 | }
880 | else{
881 | this._V_.autoplay = false;
882 | if(this._I_!=null){
883 | clearInterval(this._I_);
884 | this._I_=null;
885 | }
886 | }
887 | break;
888 | case 'e':
889 | if(parseInt(d[1]) == 1){
890 | this._V_.loop = true;
891 | }
892 | else{
893 | this._V_.loop = false;
894 | }
895 | break;
896 | case 'i':
897 | this._V_.poster = d[1];
898 | break;
899 | default:
900 | break;
901 | }
902 | }
903 | }
904 | }
905 | },
906 | frontAdPause: function(s) {
907 | this.getNot();
908 | },
909 | frontAdUnload: function() {
910 | this.getNot();
911 | },
912 | changeFace: function(s) {
913 | this.getNot();
914 | },
915 | plugin: function(a, b, c, d, e, f, g) {
916 | this.getNot();
917 | },
918 | videoClear: function() {
919 | this.getNot();
920 | },
921 | videoBrightness: function(s) {
922 | this.getNot();
923 | },
924 | videoContrast: function(s) {
925 | this.getNot();
926 | },
927 | videoSaturation: function(s) {
928 | this.getNot();
929 | },
930 | videoSetHue: function(s) {
931 | this.getNot();
932 | },
933 | videoWAndH: function(a, b) {
934 | this.getNot();
935 | },
936 | videoWHXY: function(a, b, c, d) {
937 | this.getNot();
938 | },
939 | changeFlashvars: function(a) {
940 | this.getNot();
941 | },
942 | changeMyObject: function(a, b) {
943 | this.getNot();
944 | },
945 | getMyObject: function(a, b) {
946 | this.getNot();
947 | },
948 | changeeFace: function() {
949 | this.getNot();
950 | },
951 | changeStyle: function(a, b) {
952 | this.getNot();
953 | },
954 | promptLoad: function() {
955 | this.getNot();
956 | },
957 | promptUnload: function() {
958 | this.getNot();
959 | },
960 | marqueeLoad: function(a,b) {
961 | this.getNot();
962 | },
963 | marqueeClose: function(s) {
964 | this.getNot();
965 | },
966 | getNot: function() {
967 | var s='The ckplayer\'s API for HTML5 does not exist';
968 | return s;
969 | },
970 | volumeChangeHandler: function() {
971 | var C = CKobject;
972 | if (C._V_.muted) {
973 | C.returnStatus('volumechange:0', 1);
974 | C._O_['volume'] = 0;
975 | C._O_['mute'] = true;
976 | } else {
977 | C._O_['mute'] = false;
978 | C._O_['volume'] = C._V_['volume'] * 100;
979 | C.returnStatus('volumechange:'+C._V_['volume'] * 100, 1);
980 | }
981 | },
982 | endedHandler: function() {
983 | var C = CKobject;
984 | var e=parseInt(C.getVars('e'));
985 | C.returnStatus('ended', 1);
986 | if(C._I_){
987 | clearInterval(C._I_);
988 | C._I_=null;
989 | }
990 | if ( e!= 0 && e !=4 && e !=6) {
991 | return;
992 | }
993 | if(e==6){
994 | this.quitFullScreen();
995 | }
996 | var f='playerstop()';
997 | if (C.getSn('calljs', 2)!='') {
998 | f=C.getSn('calljs', 2)+'()';
999 | }
1000 | try {
1001 | if (typeof(eval(f)) == 'function') {
1002 | eval(f);
1003 | return;
1004 | }
1005 | } catch(e) {
1006 | try {
1007 | if (typeof(eval(playerstop)) == 'function') {
1008 | playerstop();
1009 | return;
1010 | }
1011 | } catch(e) {
1012 | return;
1013 | }
1014 | }
1015 | },
1016 | loadedMetadataHandler: function() {
1017 | var C = CKobject;
1018 | C.returnStatus('loadedmetadata', 1);
1019 | C._O_['totaltime'] = C._V_['duration'];
1020 | C._O_['width'] = C._V_['width'];
1021 | C._O_['height'] = C._V_['height'];
1022 | C._O_['awidth'] = C._V_['videoWidth'];
1023 | C._O_['aheight'] = C._V_['videoHeight'];
1024 | if (C._V_.defaultMuted) {
1025 | C.returnStatus('volumechange:0', 1);
1026 | C._O_['mute'] = true;
1027 | C._O_['volume'] = 0;
1028 | } else {
1029 | C._O_['mute'] = false;
1030 | C._O_['volume'] = C._V_['volume'] * 100;
1031 | C.returnStatus('volumechange:'+C._V_['volume'] * 100, 1);
1032 | }
1033 | if (parseInt(C.getVars('p')) == 1) {
1034 | C.playHandler();
1035 | }
1036 | },
1037 | errorHandler: function() {
1038 | CKobject.returnStatus('error', 1);
1039 | },
1040 | playHandler: function() {
1041 | var C = CKobject;
1042 | if (C._V_.paused) {
1043 | C.returnStatus('pause', 1);
1044 | C.addO('play', false);
1045 | if(C._I_!=null){
1046 | clearInterval(C._I_);
1047 | C._I_=null;
1048 | }
1049 | } else {
1050 | C.returnStatus('play', 1);
1051 | C.addO('play', true);
1052 | if (!C._P_) {
1053 | C.returnStatus('play', 1);
1054 | C._P_ = true;
1055 | }
1056 | C._I_ = setInterval(C.playTime, parseInt( C.getSn('setup', 37)));
1057 | if(!C._G_){
1058 | C._G_=true;
1059 | for(var k in C._A_){
1060 | if(k=='g' && C._A_[k]){
1061 | var g=parseInt(C._A_[k]);
1062 | C.videoSeek(g);
1063 | }
1064 | }
1065 | }
1066 | if(!C._Y_){
1067 | C._Y_=true;
1068 | for(var k in C._A_){
1069 | if(k=='j' && C._A_[k]){
1070 | var j=parseInt(C._A_[k]);
1071 | if(j>0){
1072 | C._J_=j;
1073 | }
1074 | else{
1075 | C._J_=parseInt(C._O_['totaltime'])+j;
1076 | }
1077 | }
1078 | }
1079 | }
1080 | }
1081 | },
1082 | html5Click: function(){
1083 | var C = CKobject;
1084 | if(C.getVars('m')!='' && C.getVars('m')!=null){
1085 | window.open(C.getVars('m'));
1086 | }
1087 | },
1088 | returnStatus: function(s, j) {
1089 | var h = s;
1090 | if (this._H_ == 3) {
1091 | h = this._E_['p'] +'->'+ h;
1092 | }
1093 | if (this._M_ && j <= this._H_ ) {
1094 | this._L_(h);
1095 | }
1096 | },
1097 | addO: function(s, z) {
1098 | this._O_[s] = z;
1099 | },
1100 | getStatus: function() {
1101 | return this._O_;
1102 | },
1103 | playTime: function() {
1104 | var C = CKobject;
1105 | var t = C._V_['currentTime'];
1106 | C._O_['time'] = t;
1107 | if(C._J_>0 && t>C._J_){
1108 | C._J_=0;
1109 | C.videoSeek(C._O_['totaltime']);
1110 | }
1111 | C.returnStatus('time:' + t, 1);
1112 | }
1113 | }
1114 | window.CKobject = CKobject;
1115 | })();
--------------------------------------------------------------------------------
/player/ckplayer.js:
--------------------------------------------------------------------------------
1 | /*
2 | /*
3 | -------------------------------------------------------------------------
4 | 说明:
5 | 正式使用时可以把该文件的注释全部去掉,节省加载时间
6 | ckplayer6.5,有问题请访问http://www.ckplayer.com
7 | 请注意,该文件为UTF-8编码,不需要改变编码即可使用于各种编码形式的网站内
8 | -------------------------------------------------------------------------
9 | 第一部分,加载插件
10 | 以下为加载的插件部份
11 | 插件的设置参数说明:
12 | 1、插件名称
13 | 2、水平对齐方式(0左,1中,2右)
14 | 3、垂直对齐方式(0上,1中,2下)
15 | 4、水平方向位置偏移量
16 | 5、垂直方向位置偏移量
17 | 6、插件的等级,0=普通图片插件且跟随控制栏隐藏而隐藏,显示而显示,1=普通图片插件且永久显示,2=swf插件,默认显示,3=swf插件,默认隐藏,swf插件都可以交互
18 | 7、插件是否绑定在控制栏上,0不绑定,1绑定,当值是1的时候该插件将会随着控制栏一起隐藏或缓动
19 | 8、插件为swf并且可交互时,默认调用的类所在的包名称,详细说明可以到帮助手册里查看,默认无
20 | 插件名称不能相同,对此的详细说明请到网站查看
21 | */
22 | function ckcpt() {
23 | var cpt = '';
24 | cpt+='definition.swf,2,2,-169,-28,2,1|';
25 | return cpt;
26 | }
27 | /*
28 | 插件的定义结束
29 | 以下是对播放器功能进行配置
30 | */
31 | function ckstyle() { //定义总的风格
32 | var ck = {
33 | cpath: '',
34 | /*
35 | 播放器风格压缩包文件的路径,默认的是style.swf
36 | 如果调用不出来可以试着设置成绝对路径试试
37 | 如果不知道路径并且使用的是默认配置,可以直接留空,播放器会
38 | */
39 | language: '',
40 | /*播放器所使用的语言配置文件,需要和播放器在同目录下,默认是language.xml*/
41 | flashvars: '',
42 | /*
43 | 这里是用来做为对flashvars值的补充,除了c和x二个参数以外的设置都可以在这里进行配置
44 | 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4
45 | 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0*/
46 | setup: '1,1,1,1,1,2,0,1,2,0,0,1,200,0,2,1,0,1,1,1,2,10,3,0,1,1,3000,0,0,0,0,1,1,1,1,1,1,250,0,90',
47 | /*
48 | 这是配置文件里比较重要的一个参数,共有N个功能控制参数,并且以后会继续的增加,各控制参数以英文逗号(,)隔开。下面列出各参数的说明:
49 | 1、鼠标经过按钮是否使用手型,0普通鼠标,1手型鼠标,2是只有按钮手型,3是控制栏手型
50 | 2、是否支持单击暂停,0不支持,1是支持
51 | 3、是否支持双击全屏,0不支持,1是支持
52 | 4、在播放前置广告时是否同时加载视频,0不加载,1加载
53 | 5、广告显示的参考对象,0是参考视频区域,1是参考播放器区域
54 | 6、广告大小的调整方式,只针对swf和图片有效,视频是自动缩放的
55 | =0是自动调整大小,意思是说大的话就变小,小的话就变大
56 | =1是大的化变小,小的话不变
57 | =2是什么也不变,就这么大
58 | =3是跟参考对像(第5个控制)参数设置的一样宽高
59 | 7、前置广告播放顺序,0是顺序播放,1是随机播放,>1则随机取所有广告中的(N-1)个进行播放
60 | 8、对于视频广告是否采用修正,0是不使用,1是使用,如果是1,则用户在网速慢的情况下会按设定的倒计时进行播放广告,计时结束则放正片(比较人性化),设置成0的话,则强制播放完广告才能播放正片
61 | 9、是否开启滚动文字广告,0是不开启,1是开启且不使用关闭按钮,2是开启并且使用关闭按钮,开启后将在加载视频的时候加载滚动文字广告
62 | 10、视频的调整方式
63 | =0是自动调整大小,意思是说大的话就变小,小的话就变大,同时保持长宽比例不变
64 | =1是大的化变小,小的话不变
65 | =2是什么也不变,就这么大
66 | =3是跟参考对像(pm_video的设置)参数设置的一样宽高
67 | 11、是否在多视频时分段加载,0不是,1是
68 | 12、缩放视频时是否进行平滑处理,0不是,1是
69 | 13、视频缓冲时间,单位:毫秒,建议不超过300
70 | 14、初始图片调整方式(
71 | =0是自动调整大小,意思是说大的话就变小,小的话就变大,同时保持长宽比例不变
72 | =1是大的化变小,小的话不变
73 | =2是什么也不变,就这么大
74 | =3是跟pm_video参数设置的一样宽高
75 | 15、暂停广告调整方式(
76 | =0是自动调整大小,意思是说大的话就变小,小的话就变大,同时保持长宽比例不变
77 | =1是大的化变小,小的话不变
78 | =2是什么也不变,就这么大
79 | =3是跟pm_video参数设置的一样宽
80 | 16、暂停广告是否使用关闭广告设置,0不使用,1使用
81 | 17、缓冲时是否播放广告,0是不显示,1是显示并同时隐藏掉缓冲图标和进度,2是显示并不隐藏缓冲图标
82 | 18、是否支持键盘空格键控制播放和暂停0不支持,1支持
83 | 19、是否支持键盘左右方向键控制快进快退0不支持,1支持
84 | 20、是否支持键盘上下方向键控制音量0不支持,1支持
85 | 21、播放器返回js交互函数的等级,0-2,等级越高,返回的参数越多
86 | 0是返回少量常用交互
87 | 1返回播放器在播放的时候的参数,不返回广告之类的参数
88 | 2返回全部参数
89 | 3返回全部参数,并且在参数前加上"播放器ID->",用于多播放器的监听
90 | 22、快进和快退的秒数
91 | 23、界面上图片元素加载失败重新加载次数
92 | 24、开启加载皮肤压缩文件包的加载进度提示
93 | 25、使用隐藏控制栏时显示简单进度条的功能,0是不使用,1是使用,2是只在普通状态下使用
94 | 26、控制栏隐藏设置(0不隐藏,1全屏时隐藏,2都隐藏
95 | 27、控制栏隐藏延时时间,即在鼠标离开控制栏后多少毫秒后隐藏控制栏
96 | 28、左右滚动时是否采用无缝,默认0采用,1是不采用
97 | 29、0是正常状态,1是控制栏默认隐藏,播放状态下鼠标经过播放器显示控制栏,2是一直隐藏控制栏
98 | 30、在播放rtmp视频时暂停后点击播放是否采用重新链接的方式,这里一共分0-2三个等级
99 | 31、当采用网址形式(flashvars里s=1/2时)读取视频地址时是采用默认0=get方法,1=post方式
100 | 32、是否启用播放按钮和暂停按钮
101 | 33、是否启用中间暂停按钮
102 | 34、是否启用静音按钮
103 | 35、是否启用全屏按钮
104 | 36、是否启用进度调节栏
105 | 37、是否启用调节音量
106 | 38、计算时间的间隔,毫秒
107 | 39、前置logo至少显示的时间,单位:毫秒
108 | 40、前置视频广告的默认音量
109 | */
110 | pm_bg: '0x000000,100,230,180',
111 | /*播放器整体的背景配置,请注意,这里只是一个初始化的设置,如果需要真正的改动播放器的背景和最小宽高,需要在风格文件里找到相同的参数进行更改。
112 | 1、整体背景颜色
113 | 2、背景透明度
114 | 3、播放器最小宽度
115 | 4、播放器最小高度
116 | 这里只是初始化时的设置,最终加载完播放器后显示的效果需要在style.swf/style.xml里设置该参数
117 | */
118 | mylogo: 'logo.swf',
119 | /*
120 | 视频加载前显示的logo文件,不使用设置成null,即ck.mylogo='null';
121 | */
122 | pm_mylogo: '1,1,-100,-55',
123 | /*
124 | 视频加载前显示的logo文件(mylogo参数的)的位置
125 | 本软件所有的四个参数控制位置的方式全部都是统一的意思,如下
126 | 1、水平对齐方式,0是左,1是中,2是右
127 | 2、垂直对齐方式,0是上,1是中,2是下
128 | 3、水平偏移量,举例说明,如果第1个参数设置成0左对齐,第3个偏移量设置成10,就是离左边10个像素,第一个参数设置成2,偏移量如果设置的是正值就会移到播放器外面,只有设置成负值才行,设置成-1,按钮就会跑到播放器外面
129 | 4、垂直偏移量
130 | */
131 | logo: 'cklogo.png',
132 | /*
133 | 默认右上角一直显示的logo,不使用设置成null,即ck.logo='null';
134 | */
135 | pm_logo: '2,0,-170,20',
136 | /*
137 | 播放器右上角的logo的位置
138 | 1、水平对齐方式,0是左,1是中,2是右
139 | 2、垂直对齐方式,0是上,1是中,2是下
140 | 3、水平偏移量
141 | 4、垂直偏移量
142 | 以下是播放器自带的二个插件
143 | */
144 | control_rel: 'related.swf,ckplayer/related.xml,0',
145 | /*
146 | 视频结束显示精彩视频的插件
147 | 1、视频播放结束后显示相关精彩视频的插件文件(注意,视频结束动作设置成3时(即var flashvars={e:3})有效),
148 | 2、xml文件是调用精彩视频的示例文件,可以自定义文件类型(比如asp,php,jsp,.net只要输出的是xml格式就行),实际使用中一定要注意第二个参数的路径要正确
149 | 3、第三个参数是设置配置文件的编码,0是默认的utf-8,1是gbk2312
150 | */
151 | control_pv: 'Preview.swf,105,2000',
152 | /*
153 | 视频预览插件
154 | 1、插件文件名称(该插件和上面的精彩视频的插件都是放在风格压缩包里的)
155 | 2、离进度栏的高(指的是插件的顶部离进度栏的位置)
156 | 3、延迟时间(该处设置鼠标经过进度栏停顿多少毫秒后才显示插件)
157 | 建议一定要设置延时时间,不然当鼠标在进度栏上划过的时候就会读取视频地址进行预览,很占资源
158 | */
159 | pm_repc: '',
160 | /*
161 | 视频地址替换符,该功能主要是用来做简单加密的功能,使用方法很简单,请注意,只针对f值是视频地址的时候有效,其它地方不能使用。具体的请查看http://www.ckplayer.com/manual.php?id=4#title_25
162 | */
163 | pm_spac: '|',
164 | /*
165 | 视频地址间隔符,这里主要是播放多段视频时使用普通调用方式或网址调用方式时使用的。默认使用|,如果视频地址里本身存在|的话需要另外设置一个间隔符,注意,即使只有一个视频也需要设置。另外在使用rtmp协议播放视频的时候,如果视频存在多级目录的话,这里要改成其它的符号,因为rtmp协议的视频地址多级的话也需要用到|隔开流地址和实例地址
166 | */
167 | pm_fpac: 'file->f',
168 | /*
169 | 该参数的功能是把自定义的flashvars里的变量替换成ckplayer里对应的变量,默认的参数的意思是把flashvars里的file值替换成f值,因为ckplayer里只认f值,多个替换之间用竖线隔开
170 | */
171 | pm_advtime: '2,0,-110,10,0,300,0',
172 | /*
173 | 前置广告倒计时文本位置,播放前置 广告时有个倒计时的显示文本框,这里是设置该文本框的位置和宽高,对齐方式的。一共7个参数,分别表示:
174 | 1、水平对齐方式,0是左对齐,1是中间对齐,2是右对齐
175 | 2、垂直对齐方式,0是上对齐,1是中间对齐,2是低部对齐
176 | 3、水平位置偏移量
177 | 4、垂直位置偏移量
178 | 5、文字对齐方式,0是左对齐,1是中间对齐,2是右对齐,3是默认对齐
179 | 6、文本框宽席
180 | 7、文本框高度
181 | */
182 | pm_advstatus: '1,2,2,-200,-40',
183 | /*
184 | 前置广告静音按钮,静音按钮只在是视频广告时显示,当然也可以控制不显示
185 | 1、是否显示0不显示,1显示
186 | 2、水平对齐方式
187 | 3、垂直对齐方式
188 | 4、水平偏移量
189 | 5、垂直偏移量
190 | */
191 | pm_advjp: '1,1,2,2,-100,-40',
192 | /*
193 | 前置广告跳过广告按钮的位置
194 | 1、是否显示0不显示,1是显示
195 | 2、跳过按钮触发对象(值0/1,0是直接跳转,1是触发js:function ckadjump(){})
196 | 3、水平对齐方式
197 | 4、垂直对齐方式
198 | 5、水平偏移量
199 | 6、垂直偏移量
200 | */
201 | pm_padvc: '2,0,-10,-10',
202 | /*
203 | 暂停广告的关闭按钮的位置
204 | 1、水平对齐方式
205 | 2、垂直对齐方式
206 | 3、水平偏移量
207 | 4、垂直偏移量
208 | */
209 | pm_advms: '2,2,-46,-56',
210 | /*
211 | 滚动广告关闭按钮位置
212 | 1、水平对齐方式
213 | 2、垂直对齐方式
214 | 3、水平偏移量
215 | 4、垂直偏移量
216 | */
217 | pm_zip: '1,1,-20,-8,1,0,0',
218 | /*
219 | 加载皮肤压缩包时提示文字的位置
220 | 1、水平对齐方式,0是左对齐,1是中间对齐,2是右对齐
221 | 2、垂直对齐方式,0是上对齐,1是中间对齐,2是低部对齐
222 | 3、水平位置偏移量
223 | 4、垂直位置偏移量
224 | 5、文字对齐方式,0是左对齐,1是中间对齐,2是右对齐,3是默认对齐
225 | 6、文本框宽席
226 | 7、文本框高度
227 | */
228 | //pm_advmarquee: '1,2,50,-60,50,18,0,0x000000,50,0,20,1,15,2000',
229 | pm_advmarquee: '1,2,50,-60,50,20,0,0x000000,50,0,20,1,30,2000',
230 | /*
231 | 滚动广告的控制,要使用的话需要在setup里的第9个参数设置成1
232 | 这里分二种情况,前六个参数是定位控制,第7个参数是设置定位方式(0:相对定位,1:绝对定位)
233 | 第一种情况:第7个参数是0的时候,相对定位,就是播放器长宽变化的时候,控制栏也跟着变
234 | 1、默认1:中间对齐
235 | 2、上中下对齐(0是上,1是中,2是下)
236 | 3、离左边的距离
237 | 4、Y轴偏移量
238 | 5、离右边的距离
239 | 6、高度
240 | 7、定位方式
241 | 第二种情况:第7个参数是1的时候,绝对定位,就是播放器长宽变化的时候,控制栏不跟着变,这种方式一般使用在控制栏大小不变的时候
242 | 1、左中右对齐方式(0是左,1是中间,2是右)
243 | 2、上中下对齐(0是上,1是中,2是下)
244 | 3、x偏移量
245 | 4、y偏移量
246 | 5、宽度
247 | 6、高度
248 | 7、定位方式
249 | 以上是前7个参数的作用
250 | 8、是文字广告的背景色
251 | 9、置背景色的透明度
252 | 10、控制滚动方向,0是水平滚动(包括左右),1是上下滚动(包括向上和向下)
253 | 11、移动的单位时长,即移动单位像素所需要的时长,毫秒
254 | 12、移动的单位像素,正数同左/上,负数向右/下
255 | 13、是行高,这个在设置向上或向下滚动的时候有用处
256 | 14、控制向上或向下滚动时每次停止的时间
257 | */
258 | pm_glowfilter:'1,0x01485d, 100, 6, 3, 10, 1, 0, 0',
259 | /*滚动文字广告是否采用发光滤镜
260 | 1、是否使用发光滤镜,0是不采用,1是使用
261 | 2、(default = 0xFF0000) — 光晕颜色,采用十六进制格式 0xRRGGBB。 默认值为 0xFF0000
262 | 3、(default = 100) — 颜色的 Alpha 透明度值。 有效值为 0 到 100。 例如,25 设置透明度为 25%
263 | 4、(default = 6.0) — 水平模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快
264 | 5、(default = 6.0) — 垂直模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快
265 | 6、(default = 2) — 印记或跨页的强度。 该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。 有效值为 0 到 255
266 | 7、(default = 1) — 应用滤镜的次数
267 | 8、(default = 0) — 指定发光是否为内侧发光。 值 1 指定发光是内侧发光。 值 0 指定发光是外侧发光(对象外缘周围的发光)
268 | 9、(default = 0) — 指定对象是否具有挖空效果。 值为 1 将使对象的填充变为透明,并显示文档的背景颜色
269 | */
270 | advmarquee: escape(''),
271 | /*
272 | 该处是滚动文字广告的内容,如果不想在这里设置,就把这里清空并且在页面中使用js的函数定义function ckmarqueeadv(){return '广告内容'}
273 | */
274 | mainfuntion:'',
275 | /*
276 | 当flashvars里s=3/4时,调用的函数包名称,默认为空,调用时间轴上的函数setAppObj
277 | */
278 | flashplayer:'',
279 | /*
280 | 当flashvars里的s=3/4时,也可以把swf文件放在这里
281 | */
282 | calljs:'ckplayer_status,ckadjump,playerstop,ckmarqueeadv',
283 | /*
284 | 跳过广告和播放结束时调用的js函数
285 | */
286 | myweb: escape(''),
287 | /*
288 | ------------------------------------------------------------------------------------------------------------------
289 | 以下内容部份是和插件相关的配置,请注意,自定义插件以及其配置的命名方式要注意,不要和系统的相重复,不然就会替换掉系统的相关设置,删除相关插件的话也可以同时删除相关的配置
290 | ------------------------------------------------------------------------------------------------------------------
291 | 以下内容定义自定义插件的相关配置,这里也可以自定义任何自己的插件需要配置的内容,当然,如果你某个插件不使用的话,也可以删除相关的配置
292 | ------------------------------------------------------------------------------------------------------------------
293 | */
294 | cpt_lights: '0',
295 | /*
296 | 该处定义是否使用开关灯,和right.swf插件配合作用,使用开灯效果时调用页面的js函数function closelights(){};
297 | */
298 | cpt_share: 'ckplayer/share.xml',
299 | /*
300 | 分享插件调用的配置文件地址
301 | 调用插件开始
302 | */
303 | cpt_list: ckcpt()
304 | /*
305 | ckcpt()是本文件最上方的定义插件的函数
306 | */
307 | }
308 | return ck;
309 | }
310 | /*
311 | html5部分开始
312 | 以下代码是支持html5的,如果你不需要,可以删除。
313 | html5代码块的代码可以随意更改以适合你的应用,欢迎到论坛交流更改心得
314 | */
315 | (function() {
316 | var CKobject = {
317 | _K_: function(d){return document.getElementById(d);},
318 | _T_: false,
319 | _M_: false,
320 | _G_: false,
321 | _Y_: false,
322 | _I_: null,
323 | _J_: 0,
324 | _O_: {},
325 | uaMatch:function(u,rMsie,rFirefox,rOpera,rChrome,rSafari,rSafari2,mozilla,mobile){
326 | var match = rMsie.exec(u);
327 | if (match != null) {
328 | return {
329 | b: 'IE',
330 | v: match[2] || '0'
331 | }
332 | }
333 | match = rFirefox.exec(u);
334 | if (match != null) {
335 | return {
336 | b: match[1] || '',
337 | v: match[2] || '0'
338 | }
339 | }
340 | match = rOpera.exec(u);
341 | if (match != null) {
342 | return {
343 | b: match[1] || '',
344 | v: match[2] || '0'
345 | }
346 | }
347 | match = rChrome.exec(u);
348 | if (match != null) {
349 | return {
350 | b: match[1] || '',
351 | v: match[2] || '0'
352 | }
353 | }
354 | match = rSafari.exec(u);
355 | if (match != null) {
356 | return {
357 | b: match[2] || '',
358 | v: match[1] || '0'
359 | }
360 | }
361 | match = rSafari2.exec(u);
362 | if (match != null) {
363 | return {
364 | b: match[1] || '',
365 | v: match[2] || '0'
366 | }
367 | }
368 | match = mozilla.exec(u);
369 | if (match != null) {
370 | return {
371 | b: match[1] || '',
372 | v: match[2] || '0'
373 | }
374 | }
375 | match = mobile.exec(u);
376 | if (match != null) {
377 | return {
378 | b: match[1] || '',
379 | v: match[2] || '0'
380 | }
381 | }
382 | else {
383 | return {
384 | b: 'unknown',
385 | v: '0'
386 | }
387 | }
388 | },
389 | browser: function() {
390 | var u = navigator.userAgent,
391 | rMsie = /(msies|trident.*rv:)([w.]+)/,
392 | rFirefox = /(firefox)/([w.]+)/,
393 | rOpera = /(opera).+version/([w.]+)/,
394 | rChrome = /(chrome)/([w.]+)/,
395 | rSafari = /version/([w.]+).*(safari)/,
396 | rSafari2 = /(safari)/([w.]+)/,
397 | mozilla = /(mozilla)/([w.]+)/,
398 | mobile = /(mobile)/([w.]+)/;
399 | var c = u.toLowerCase();
400 | var d = this.uaMatch(c,rMsie,rFirefox,rOpera,rChrome,rSafari,rSafari2,mozilla,mobile);
401 | if (d.b) {
402 | b = d.b;
403 | v = d.v;
404 | }
405 | return {B: b, V: v};
406 | },
407 | Platform: function() {
408 | var w = '';
409 | var u = navigator.userAgent,
410 | app = navigator.appVersion;
411 | var b = {
412 | iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1,
413 | iPad: u.indexOf('iPad') > -1,
414 | ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/),
415 | android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
416 | webKit: u.indexOf('AppleWebKit') > -1,
417 | trident: u.indexOf('Trident') > -1,
418 | gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
419 | presto: u.indexOf('Presto') > -1,
420 | mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
421 | webApp: u.indexOf('Safari') == -1
422 | };
423 | for (var k in b) {
424 | if (b[k]) {
425 | w = k;
426 | break;
427 | }
428 | }
429 | return w;
430 | },
431 | isHTML5:function(){
432 | return !!document.createElement('video').canPlayType;
433 | },
434 | getType:function(){
435 | return this._T_;
436 | },
437 | getVideo: function() {
438 | var v = '';
439 | var s = this._E_['v'];
440 | if (s && s.length>1) {
441 | for (var i = 0; i < s.length; i++) {
442 | var a = s[i].split('->');
443 | if (a.length >= 1 && a[0] != '') {
444 | v += '= 2 && a[1] != '') {
447 | v += ' type="' + a[1] + '"';
448 | }
449 | v += '>';
450 | }
451 | }
452 | return v;
453 | },
454 | getVars: function(k) {
455 | var o=this._A_;
456 | if (typeof(o) == 'undefined') {
457 | return null;
458 | }
459 | if (k in o) {
460 | return o[k];
461 | } else {
462 | return null;
463 | }
464 | },
465 | getParams: function() {
466 | var p = '';
467 | if (this._A_) {
468 | if (parseInt(this.getVars('p')) == 1) {
469 | p += ' autoplay="autoplay"';
470 | }
471 | if (parseInt(this.getVars('e')) == 1) {
472 | p += ' loop="loop"';
473 | }
474 | if (parseInt(this.getVars('p')) == 2) {
475 | p += ' preload="metadata"';
476 | }
477 | if (this.getVars('i')) {
478 | p += ' poster="' + this.getVars('i') + '"';
479 | }
480 | }
481 | return p;
482 | },
483 | getpath: function(z) {
484 | var f='CDEFGHIJKLMNOPQRSTUVWXYZcdefghijklmnopqrstuvwxyz';
485 | var w=z.substr(0,1);
486 | if(f.indexOf(w)>-1 && (z.substr(0,4)==w+'://' || z.substr(0,4)==w+':\')){
487 | return z;
488 | }
489 | var d = unescape(window.location.href).replace('file:///', '');
490 | var k = parseInt(document.location.port);
491 | var u = document.location.protocol + '//' + document.location.hostname;
492 | var l = '',
493 | e = '',
494 | t = '';
495 | var s = 0;
496 | var r = unescape(z).split('//');
497 | if (r.length > 0) {
498 | l = r[0] + '//'
499 | }
500 | var h = 'http|https|ftp|rtsp|mms|ftp|rtmp|file';
501 | var a = h.split('|');
502 | if (k != 80 && k) {
503 | u += ':' + k;
504 | }
505 | for (i = 0; i < a.length; i++) {
506 | if ((a[i] + '://') == l) {
507 | s = 1;
508 | break;
509 | }
510 | }
511 | if (s == 0) {
512 | if (z.substr(0, 1) == '/') {
513 | t = u + z;
514 | } else {
515 | e = d.substring(0, d.lastIndexOf('/') + 1).replace('\', '/');
516 | var w = z.replace('../', './');
517 | var u = w.split('./');
518 | var n = u.length;
519 | var r = w.replace('./', '');
520 | var q = e.split('/');
521 | var j = q.length - n;
522 | for (i = 0; i < j; i++) {
523 | t += q[i] + '/';
524 | }
525 | t += r;
526 | }
527 | } else {
528 | t = z;
529 | }
530 | return t;
531 | },
532 | getXhr: function() {
533 | var x;
534 | try {
535 | x = new ActiveXObject('Msxml2.XMLHTTP');
536 | } catch(e) {
537 | try {
538 | x = new ActiveXObject('Microsoft.XMLHTTP');
539 | } catch(e) {
540 | x = false;
541 | }
542 | }
543 | if (!x && typeof XMLHttpRequest != 'undefined') {
544 | x = new XMLHttpRequest();
545 | }
546 | return x;
547 | },
548 | getX: function(){
549 | var f='ckstyle()';
550 | if (this.getVars('x')) {
551 | f=this.getVars('x')+'()';
552 | }
553 | try {
554 | if (typeof(eval(f)) == 'object') {
555 | this._X_ = eval(f);
556 | }
557 | } catch(e) {
558 | try {
559 | if (typeof(eval(ckstyle)) == 'object') {
560 | this._X_ = ckstyle();
561 | }
562 | } catch(e) {
563 | this._X_ = ckstyle();
564 | }
565 | }
566 | },
567 | getSn: function(s, n) {
568 | if(n>=0){
569 | return this._X_[s].split(',')[n];
570 | }
571 | else{
572 | return this._X_[s];
573 | }
574 | },
575 | getUrl: function(L, B) {
576 | var b = ['get', 'utf-8'];
577 | if (L && L.length == 2) {
578 | var a = L[0];
579 | var c = L[1].split('/');
580 | if (c.length >= 2) {
581 | b[0] = c[1];
582 | }
583 | if (c.length >= 3) {
584 | b[1] = c[2];
585 | }
586 | this.ajax(b[0], b[1], a,
587 | function(s) {
588 | var C = CKobject;
589 | if (s && s != 'error') {
590 | var d = '',
591 | e = s;
592 | if (s.indexOf('}') > -1) {
593 | var f = s.split('}');
594 | for (var i = 0; i < f.length - 1; i++) {
595 | d += f[i] + '}';
596 | var h = f[i].replace('{', '').split('->');
597 | if (h.length == 2) {
598 | C._A_[h[0]] = h[1];
599 | }
600 | }
601 | e = f[f.length - 1];
602 | }
603 | C._E_['v'] = e.split(',');
604 | if (B) {
605 | C.showHtml5();
606 | } else {
607 | C.changeParams(d);
608 | C.newAdr();
609 | }
610 | }
611 | });
612 | }
613 | },
614 | getflashvars: function(s) {
615 | var v = '',
616 | i = 0;
617 | if (s) {
618 | for (var k in s) {
619 | if (i > 0) {
620 | v += '&';
621 | }
622 | if (k == 'f' && s[k] && ! this.getSn('pm_repc',-1)) {
623 | s[k] = this.getpath(s[k]);
624 | if (s[k].indexOf('&') > -1) {
625 | s[k] = encodeURIComponent(s[k]);
626 | }
627 | }
628 | if (k == 'y' && s[k]) {
629 | s[k] = this.getpath(s[k]);
630 | }
631 | v += k + '=' + s[k];
632 | i++;
633 | }
634 | }
635 | return v;
636 | },
637 | getparam: function(s) {
638 | var w = '',
639 | v = '',
640 | o = {
641 | allowScriptAccess: 'always',
642 | allowFullScreen: true,
643 | quality: 'high',
644 | bgcolor: '#000'
645 | };
646 | if (s) {
647 | for (var k in s) {
648 | o[k] = s[k];
649 | }
650 | }
651 | for (var e in o) {
652 | w += e + '="' + o[e] + '" ';
653 | v += '';
654 | }
655 | w = w.replace('movie=', 'src=');
656 | return {
657 | w: w,
658 | v: v
659 | };
660 | },
661 | getObjectById: function(s) {
662 | if (this._T_) {
663 | return this;
664 | }
665 | var X = null,
666 | Y = this._K_(s),
667 | r = 'embed';
668 | if (Y && Y.nodeName == 'OBJECT') {
669 | if (typeof Y.SetVariable != 'undefined') {
670 | X = Y;
671 | } else {
672 | var Z = Y.getElementsByTagName(r)[0];
673 | if (Z) {
674 | X = Z;
675 | }
676 | }
677 | }
678 | return X;
679 | },
680 | ajax: function(b, u, s, f) {
681 | var x = this.getXhr();
682 | var a = [],
683 | m = '';
684 | if (b == 'get') {
685 | if (s.indexOf('?') > -1) {
686 | m = s + '&t=' + new Date().getTime();
687 | } else {
688 | m = s + '?t=' + new Date().getTime();
689 | }
690 | x.open('get', m);
691 | } else {
692 | a = s.split('?');
693 | s = a[0],
694 | m = a[1];
695 | x.open('post', s, true);
696 | }
697 | x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
698 | x.setRequestHeader('charset', u);
699 | if (b == 'post') {
700 | x.send(m);
701 | } else {
702 | x.send(null);
703 | }
704 | x.onreadystatechange = function() {
705 | if (x.readyState == 4) {
706 | var g = x.responseText;
707 | if (g != '') {
708 | f(g);
709 | } else {
710 | f(null);
711 | }
712 | }
713 | }
714 | },
715 | addListener: function(e, f) {
716 | var o=CKobject._V_;
717 | if (o.addEventListener) {
718 | try{
719 | o.addEventListener(e, f, false);
720 | }
721 | catch (e) {
722 | this.getNot();
723 | }
724 | }
725 | else if (o.attachEvent) {
726 | try{
727 | o.attachEvent('on' + e, f);
728 | }
729 | catch(e){
730 | this.getNot();
731 | }
732 | }
733 | else {
734 | o['on' + e] = f;
735 | }
736 | },
737 | removeListener: function( e, f) {
738 | var o=CKobject._V_;
739 | if (o.removeEventListener) {
740 | try{
741 | o.removeEventListener(e, f, false);
742 | }
743 | catch(e){
744 | this.getNot();
745 | }
746 | }
747 | else if (o.detachEvent) {
748 | try{
749 | o.detachEvent('on' + e, f);
750 | }
751 | catch(e){
752 | this.getNot();
753 | }
754 | }
755 | else {
756 | o['on' + e] = null;
757 | }
758 | },
759 | Flash: function() {
760 | var f = false,v = 0;
761 | if (document.all || this.browser()['B'].toLowerCase().indexOf('ie')>-1) {
762 | try {
763 | var s = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
764 | f = true;
765 | var z = s.GetVariable('$version');
766 | v = parseInt(z.split(' ')[1].split(',')[0]);
767 | } catch(e) {}
768 | } else {
769 | if (navigator.plugins && navigator.plugins.length > 0) {
770 | var s = navigator.plugins['Shockwave Flash'];
771 | if (s) {
772 | f = true;
773 | var w = s.description.split(' ');
774 | for (var i = 0; i < w.length; ++i) {
775 | if (isNaN(parseInt(w[i]))) continue;
776 | v = parseInt(w[i]);
777 | }
778 | }
779 | }
780 | }
781 | return {
782 | f: f,
783 | v: v
784 | };
785 | },
786 | embed:function(f,d,i,w,h,b,v,e,p){
787 | var s=['all'];
788 | if(b){
789 | if(this.isHTML5()){
790 | this.embedHTML5(d,i,w,h,e,v,s);
791 | }
792 | else{
793 | this.embedSWF(f,d,i,w,h,v,p);
794 | }
795 | }
796 | else{
797 | if(this.Flash()['f'] && parseInt(this.Flash()['v'])>10){
798 | this.embedSWF(f,d,i,w,h,v,p);
799 | }
800 | else if(this.isHTML5()){
801 | this.embedHTML5(d,i,w,h,e,v,s);
802 | }
803 | else{
804 | this.embedSWF(f,d,i,w,h,v,p);
805 | }
806 | }
807 | },
808 | embedSWF: function(C, D, N, W, H, V, P) {
809 | if (!N) {
810 | N = 'ckplayer_a1'
811 | }
812 | if (!P) {
813 | P = {
814 | bgcolor: '#FFF',
815 | allowFullScreen: true,
816 | allowScriptAccess: 'always',
817 | wmode:'transparent'
818 | };
819 | }
820 | this._A_=V;
821 | this.getX();
822 | var u = 'undefined',
823 | g = false,
824 | j = document,
825 | r = 'http://www.macromedia.com/go/getflashplayer',
826 | t = '请点击此处下载安装最新的flash插件',
827 | error = {
828 | w: '您的网页不符合w3c标准,无法显示播放器',
829 | f: '您没有安装flash插件,无法播放视频,' + t,
830 | v: '您的flash插件版本过低,无法播放视频,' + t
831 | },
832 | w3c = typeof j.getElementById != u && typeof j.getElementsByTagName != u && typeof j.createElement != u,
833 | i = 'id="' + N + '" name="' + N + '" ',
834 | s = '',
835 | l = '';
836 | P['movie'] = C;
837 | P['flashvars'] = this.getflashvars(V);
838 | if(W==-1){
839 | d=true;
840 | this._K_(D).style.width='100%';
841 | W='100%';
842 | }
843 | s += '';
856 | if (!w3c) {
857 | l = error['w'];
858 | g = true;
859 | } else {
860 | if (!this.Flash()['f']) {
861 | l = error['f'];
862 | g = true;
863 | } else {
864 | if (this.Flash()['v'] < 10) {
865 | l = error['v'];
866 | g = true;
867 | } else {
868 | l = s;
869 | this._T_=false;
870 | }
871 | }
872 | }
873 | if (l) {
874 | this._K_(D).innerHTML = l;
875 | }
876 | if (g){
877 | this._K_(D).style.color = '#0066cc';
878 | this._K_(D).style.lineHeight = this._K_(D).style.height;
879 | this._K_(D).style.textAlign= 'center';
880 | }
881 | },
882 | embedHTML5: function(C, P, W, H, V, A, S) {
883 | this._E_ = {
884 | c: C,
885 | p: P,
886 | w: W,
887 | h: H,
888 | v: V,
889 | s: S
890 | };
891 | this._A_ = A;
892 | this.getX();
893 | b = this.browser()['B'],
894 | v = this.browser()['V'],
895 | x = v.split('.'),
896 | t = x[0],
897 | m = b + v,
898 | n = b + t,
899 | w = '',
900 | s = false,
901 | f = this.Flash()['f'],
902 | a = false;
903 | if (!S) {
904 | S = ['iPad', 'iPhone', 'ios'];
905 | }
906 | for (var i = 0; i < S.length; i++) {
907 | w = S[i];
908 | if (w.toLowerCase() == 'all') {
909 | s = true;
910 | break;
911 | }
912 | if (w.toLowerCase() == 'all+false' && !f) {
913 | s = true;
914 | break;
915 | }
916 | if (w.indexOf('+') > -1) {
917 | w = w.split('+')[0];
918 | a = true;
919 | } else {
920 | a = false;
921 | }
922 | if (this.Platform() == w || m == w || n == w || b == w) {
923 | if (a) {
924 | if (!f) {
925 | s = true;
926 | break;
927 | }
928 | }else {
929 | s = true;
930 | break;
931 | }
932 | }
933 | }
934 | if (s) {
935 | if (V) {
936 | var l = V[0].split('->');
937 | if (l && l.length == 2 && l[1].indexOf('ajax') > -1) {
938 | this.getUrl(l, true);
939 | return;
940 | }
941 | }
942 | this.showHtml5();
943 | }
944 | },
945 | status: function() {
946 | this._H_ = parseInt(this.getSn('setup', 20));
947 | var f='ckplayer_status';
948 | if (this.getSn('calljs', 0)!='') {
949 | f=this.getSn('calljs', 0);
950 | }
951 | try {
952 | if (typeof(eval(f)) == 'function') {
953 | this._L_=eval(f);
954 | this._M_=true;
955 | return true;
956 | }
957 | } catch(e) {
958 | try {
959 | if (typeof(eval(ckplayer_status)) == 'function') {
960 | this._L_=ckplayer_status;
961 | this._M_=true;
962 | return true;
963 | }
964 | } catch(e) {
965 | return false;
966 | }
967 | }
968 | return false;
969 | },
970 | showHtml5: function() {
971 | var C = CKobject;
972 | var p = C._E_['p'],
973 | a = C._E_['v'],
974 | c = C._E_['c'],
975 | b = false;
976 | var s = this._E_['v'];
977 | var w=C._E_['w'],h=C._E_['h'];
978 | var d=false;
979 | var r='';
980 | if(s.length==1){
981 | r=' src="'+s[0].split('->')[0]+'"';
982 | }
983 | if(w==-1){
984 | d=true;
985 | C._K_(c).style.width='100%';
986 | w='100%';
987 | }
988 | if(w.toString().indexOf('%')>-1){
989 | w='100%';
990 | }
991 | if(h.toString().indexOf('%')>-1){
992 | h='100%';
993 | }
994 | var v = '';
995 | C._K_(c).innerHTML = v;
996 |
997 | C._K_(c).style.backgroundColor = '#000';
998 | C._V_ = this._K_(p);
999 | if(!d){
1000 | C._K_(c).style.width=this._E_['w'].toString().indexOf('%')>-1?(C._K_(c).offsetWidth*parseInt(this._E_['w'])*0.01)+'px':C._V_.width+'px';
1001 | C._K_(c).style.height=this._E_['h'].toString().indexOf('%')>-1?(C._K_(c).offsetHeight*parseInt(this._E_['h'])*0.01)+'px':C._V_.height+'px';
1002 | }
1003 | C._P_ = false;
1004 | C._T_ = true;
1005 | if (C.getVars('loaded')!='') {
1006 | var f=C.getVars('loaded')+'()';
1007 | try {
1008 | if (typeof(eval(f)) == 'function') {
1009 | eval(f);
1010 | }
1011 | } catch(e) {
1012 | try {
1013 | if (typeof(eval(loadedHandler)) == 'function') {
1014 | loadedHandler();
1015 | }
1016 | } catch(e) {
1017 | }
1018 | }
1019 | }
1020 | C.status();
1021 | C.addListener('play', C.playHandler);
1022 | C.addListener('pause', C.playHandler);
1023 | C.addListener('error', C.errorHandler);
1024 | C.addListener('emptied', C.errorHandler);
1025 | C.addListener('loadedmetadata', C.loadedMetadataHandler);
1026 | C.addListener('ended', C.endedHandler);
1027 | C.addListener('volumechange', C.volumeChangeHandler);
1028 | },
1029 | videoPlay: function() {
1030 | if (this._T_) {
1031 | this._V_.play();
1032 | }
1033 | },
1034 | videoPause: function() {
1035 | if (this._T_) {
1036 | this._V_.pause();
1037 | }
1038 | },
1039 | playOrPause: function() {
1040 | if (this._T_) {
1041 | if (this._V_.paused) {
1042 | this._V_.play();
1043 | } else {
1044 | this._V_.pause();
1045 | }
1046 | }
1047 | },
1048 | fastNext: function() {
1049 | if (this._T_) {
1050 | this._V_['currentTime'] = this._V_['currentTime'] + 10;
1051 | }
1052 | },
1053 | fastBack: function() {
1054 | if (this._T_) {
1055 | this._V_['currentTime'] = this._V_['currentTime'] - 10;
1056 | }
1057 | },
1058 | changeVolume: function(n) {
1059 | if (this._T_) {
1060 | this._V_['volume'] = n * 0.01;
1061 | }
1062 | },
1063 | videoSeek: function(t) {
1064 | if (this._T_) {
1065 | this._V_['currentTime'] = t;
1066 | }
1067 | },
1068 | newAddress: function(u) {
1069 | var s = [];
1070 | if (u) {
1071 | s = this.isHtml5New(u);
1072 | } else {
1073 | return;
1074 | }
1075 | if (s && this._T_) {
1076 | this.changeParams(u);
1077 | var l = s[0].split('->');
1078 | if (l && l.length == 2 && l[1].indexOf('ajax') > -1) {
1079 | this.getUrl(l, false);
1080 | return;
1081 | }
1082 | this._E_['v'] = s;
1083 | this.newAdr();
1084 | }
1085 | },
1086 | quitFullScreen:function() {
1087 | if(document.cancelFullScreen) {
1088 | document.cancelFullScreen();
1089 | }
1090 | else if(document.mozCancelFullScreen) {
1091 | document.mozCancelFullScreen();
1092 | } else if(document.webkitCancelFullScreen) {
1093 | document.webkitCancelFullScreen();
1094 | }
1095 |
1096 | },
1097 | changeStatus:function(n){
1098 | this._H_=n;
1099 | },
1100 | newAdr: function() {
1101 | var s = this._E_['v'];
1102 | this._V_.pause();
1103 | if(s.length==1){
1104 | this._V_.src=s[0].split('->')[0];
1105 | }
1106 | else{
1107 | this._V_['innerHTML'] = this.getVideo();
1108 | }
1109 | this._V_.load();
1110 | },
1111 | isHtml5New: function(s) {
1112 | if (s.indexOf('html5') == -1) {
1113 | return false;
1114 | }
1115 | var a = s.replace(/{/g, '');
1116 | var b = a.split('}');
1117 | var c = '';
1118 | for (var i = 0; i < b.length; i++) {
1119 | if (b[i].indexOf('html5') > -1) {
1120 | c = b[i].replace('html5->', '').split(',');
1121 | break;
1122 | }
1123 | }
1124 | return c;
1125 | },
1126 | changeParams: function(f) {
1127 | if (f) {
1128 | var a = f.replace(/{/g, '');
1129 | var b = a.split('}');
1130 | var c = '';
1131 | for (var i = 0; i < b.length; i++) {
1132 | var d = b[i].split('->');
1133 | if(d.length == 2){
1134 | switch(d[0]){
1135 | case 'p':
1136 | if(parseInt(d[1]) == 1){
1137 | this._V_.autoplay = true;
1138 | }
1139 | else if(parseInt(d[1]) == 2){
1140 | this._V_.preload = 'metadata';
1141 | }
1142 | else{
1143 | this._V_.autoplay = false;
1144 | if(this._I_!=null){
1145 | clearInterval(this._I_);
1146 | this._I_=null;
1147 | }
1148 | }
1149 | break;
1150 | case 'e':
1151 | if(parseInt(d[1]) == 1){
1152 | this._V_.loop = true;
1153 | }
1154 | else{
1155 | this._V_.loop = false;
1156 | }
1157 | break;
1158 | case 'i':
1159 | this._V_.poster = d[1];
1160 | break;
1161 | default:
1162 | break;
1163 | }
1164 | }
1165 | }
1166 | }
1167 | },
1168 | frontAdPause: function(s) {
1169 | this.getNot();
1170 | },
1171 | frontAdUnload: function() {
1172 | this.getNot();
1173 | },
1174 | changeFace: function(s) {
1175 | this.getNot();
1176 | },
1177 | plugin: function(a, b, c, d, e, f, g) {
1178 | this.getNot();
1179 | },
1180 | videoClear: function() {
1181 | this.getNot();
1182 | },
1183 | videoBrightness: function(s) {
1184 | this.getNot();
1185 | },
1186 | videoContrast: function(s) {
1187 | this.getNot();
1188 | },
1189 | videoSaturation: function(s) {
1190 | this.getNot();
1191 | },
1192 | videoSetHue: function(s) {
1193 | this.getNot();
1194 | },
1195 | videoWAndH: function(a, b) {
1196 | this.getNot();
1197 | },
1198 | videoWHXY: function(a, b, c, d) {
1199 | this.getNot();
1200 | },
1201 | changeFlashvars: function(a) {
1202 | this.getNot();
1203 | },
1204 | changeMyObject: function(a, b) {
1205 | this.getNot();
1206 | },
1207 | getMyObject: function(a, b) {
1208 | this.getNot();
1209 | },
1210 | changeeFace: function() {
1211 | this.getNot();
1212 | },
1213 | changeStyle: function(a, b) {
1214 | this.getNot();
1215 | },
1216 | promptLoad: function() {
1217 | this.getNot();
1218 | },
1219 | promptUnload: function() {
1220 | this.getNot();
1221 | },
1222 | marqueeLoad: function(a,b) {
1223 | this.getNot();
1224 | },
1225 | marqueeClose: function(s) {
1226 | this.getNot();
1227 | },
1228 | getNot: function() {
1229 | var s='The ckplayer's API for HTML5 does not exist';
1230 | return s;
1231 | },
1232 | volumeChangeHandler: function() {
1233 | var C = CKobject;
1234 | if (C._V_.muted) {
1235 | C.returnStatus('volumechange:0', 1);
1236 | C._O_['volume'] = 0;
1237 | C._O_['mute'] = true;
1238 | } else {
1239 | C._O_['mute'] = false;
1240 | C._O_['volume'] = C._V_['volume'] * 100;
1241 | C.returnStatus('volumechange:'+C._V_['volume'] * 100, 1);
1242 | }
1243 | },
1244 | endedHandler: function() {
1245 | var C = CKobject;
1246 | var e=parseInt(C.getVars('e'));
1247 | C.returnStatus('ended', 1);
1248 | if(C._I_){
1249 | clearInterval(C._I_);
1250 | C._I_=null;
1251 | }
1252 | if ( e!= 0 && e !=4 && e !=6) {
1253 | return;
1254 | }
1255 | if(e==6){
1256 | this.quitFullScreen();
1257 | }
1258 | var f='playerstop()';
1259 | if (C.getSn('calljs', 2)!='') {
1260 | f=C.getSn('calljs', 2)+'()';
1261 | }
1262 | try {
1263 | if (typeof(eval(f)) == 'function') {
1264 | eval(f);
1265 | return;
1266 | }
1267 | } catch(e) {
1268 | try {
1269 | if (typeof(eval(playerstop)) == 'function') {
1270 | playerstop();
1271 | return;
1272 | }
1273 | } catch(e) {
1274 | return;
1275 | }
1276 | }
1277 | },
1278 | loadedMetadataHandler: function() {
1279 | var C = CKobject;
1280 | C.returnStatus('loadedmetadata', 1);
1281 | C._O_['totaltime'] = C._V_['duration'];
1282 | C._O_['width'] = C._V_['width'];
1283 | C._O_['height'] = C._V_['height'];
1284 | C._O_['awidth'] = C._V_['videoWidth'];
1285 | C._O_['aheight'] = C._V_['videoHeight'];
1286 | if (C._V_.defaultMuted) {
1287 | C.returnStatus('volumechange:0', 1);
1288 | C._O_['mute'] = true;
1289 | C._O_['volume'] = 0;
1290 | } else {
1291 | C._O_['mute'] = false;
1292 | C._O_['volume'] = C._V_['volume'] * 100;
1293 | C.returnStatus('volumechange:'+C._V_['volume'] * 100, 1);
1294 | }
1295 | },
1296 | errorHandler: function() {
1297 | CKobject.returnStatus('error', 1);
1298 | },
1299 | playHandler: function() {
1300 | var C = CKobject;
1301 | if (C._V_.paused) {
1302 | C.returnStatus('pause', 1);
1303 | C.addO('play', false);
1304 | if(C._I_!=null){
1305 | clearInterval(C._I_);
1306 | C._I_=null;
1307 | }
1308 | } else {
1309 | C.returnStatus('play', 1);
1310 | C.addO('play', true);
1311 | if (!C._P_) {
1312 | C.returnStatus('play', 1);
1313 | C._P_ = true;
1314 | }
1315 | C._I_ = setInterval(C.playTime, parseInt( C.getSn('setup', 37)));
1316 | if(!C._G_){
1317 | C._G_=true;
1318 | for(var k in C._A_){
1319 | if(k=='g' && C._A_[k]){
1320 | var g=parseInt(C._A_[k]);
1321 | C.videoSeek(g);
1322 | }
1323 | }
1324 | }
1325 | if(!C._Y_){
1326 | C._Y_=true;
1327 | for(var k in C._A_){
1328 | if(k=='j' && C._A_[k]){
1329 | var j=parseInt(C._A_[k]);
1330 | if(j>0){
1331 | C._J_=j;
1332 | }
1333 | else{
1334 | C._J_=parseInt(C._O_['totaltime'])+j;
1335 | }
1336 | }
1337 | }
1338 | }
1339 | }
1340 | },
1341 | returnStatus: function(s, j) {
1342 | var h = s;
1343 | if (this._H_ == 3) {
1344 | h = this._E_['p'] +'->'+ h;
1345 | }
1346 | if (this._M_ && j <= this._H_ ) {
1347 | this._L_(h);
1348 | }
1349 | },
1350 | addO: function(s, z) {
1351 | this._O_[s] = z;
1352 | },
1353 | getStatus: function() {
1354 | return this._O_;
1355 | },
1356 | playTime: function() {
1357 | var C = CKobject;
1358 | var t = C._V_['currentTime'];
1359 | C._O_['time'] = t;
1360 | if(C._J_>0 && t>C._J_){
1361 | C._J_=0;
1362 | C.videoSeek(C._O_['totaltime']);
1363 | }
1364 | C.returnStatus('time:' + t, 1);
1365 | }
1366 | }
1367 | window.CKobject = CKobject;
1368 | })();
--------------------------------------------------------------------------------