PHP與視頻插件功能實現

php與視頻播放器插件的功能,說白了就是前端是播放器的插件,直接調用後端傳遞過來的播放地址,還有其餘的一些信息,好比封面圖面,名稱,播放時間,地址等等。這些須要在後臺把這些封裝起來,能夠存儲在數據庫裏,方便調用。以上就是思路。想起來是否是很簡單。作起來也差很少咯。
首先,前端引入播放器插件,這種插件,網上推薦不少,這裏推薦:視頻播放插件ckplayer,能夠到官網下載的。下載後添加到網站根目錄。javascript

特別提醒:解壓後不要忘了把js文件夾也添加到你的網站根目錄。這個主要是爲了各瀏覽器的兼容性的,若是不添加,在ie,Firefox上有可能不能用!
 php

 

1,首先在頁面頭部引入:
<script src="ckplayer/ckplayer.js"></script>


2,在body部分放一個div:
<div style=" width:660px;margin:0 auto;">  
    <div id="a1"></div>  
</div>   

3,在script中的windows.load時間裏,或者在2步驟的div後面放入一下腳本:
<script type="text/JavaScript"> 
        var flashvars = {
            f: 'video/card.mp4',//視頻地址  
            //若是你不須要某項設置,能夠直接刪除,注意var flashvars的最後一個值後面不能有逗號
            a: '',//調用時的參數,只有當s>0的時候有效  
            s: '0',//調用方式,0=普通方法(f=視頻地址),1=網址形式,2=xml形式,3=swf形式(s>0時f=網址,配合a來完成對地址的組裝)  
            c: '0',//是否讀取文本配置,0不是,1是  
            x: '',//調用xml風格路徑,爲空的話將使用ckplayer.js的配置  
            i: 'video/1.jpg',//初始圖片地址  
            d: 'video/1.jpg',//暫停時播放的廣告,swf/圖片,多個用豎線隔開,圖片要加連接地址,沒有的時候留空就行  
            u: 'http://www.vqisoft.com/',//暫停時若是是圖片的話,加個連接地址  
            l: '',//前置廣告,swf/圖片/視頻,多個用豎線隔開,圖片和視頻要加連接地址  
            r: '',//前置廣告的連接地址,多個用豎線隔開,沒有的留空  
            t: '10|10',//視頻開始前播放swf/圖片時的時間,多個用豎線隔開  
            y: '',//這裏是使用網址形式調用廣告地址時使用,前提是要設置l的值爲空  
            z: 'http://www.ckplayer.com/down/buffer.swf',//緩衝廣告,只能放一個,swf格式  
            e: '2',//視頻結束後的動做,0是調用js函數,1是循環播放,2是暫停播放而且不調用廣告,3是調用視頻推薦列表的插件,4是清除視頻流並調用js功能和1差很少,5是暫停播放而且調用暫停廣告  
            v: '80',//默認音量,0-100之間  
            p: '0',//視頻默認0是暫停,1是播放  
            h: '0',//播放http視頻流時採用何種拖動方法,=0不使用任意拖動,=1是使用按關鍵幀,=2是按時間點,=3是自動判斷按什麼(若是視頻格式是.mp4就按關鍵幀,.flv就按關鍵時間),=4也是自動判斷(只要包含字符mp4就按mp4來,只要包含字符flv就按flv來)  
            q: '',//視頻流拖動時參考函數,默認是start  
            m: '0',//默認是否採用點擊播放按鈕後再加載視頻,0不是,1是,設置成1時不要有前置廣告  
            o: '',//當m=1時,能夠設置視頻的時間,單位,秒  
            w: '',//當m=1時,能夠設置視頻的總字節數  
            g: '',//視頻直接g秒開始播放  
            j: '',//視頻提早j秒結束  
            k: '',//提示點時間,如 30|60鼠標通過進度欄30秒,60秒會提示n指定的相應的文字  
            n: '',//提示點文字,跟k配合使用,如 提示點1|提示點2  
            wh: '',//這是6.2新增長的寬高比,能夠本身定義視頻的寬高或寬高好比:wh:'4:3',或wh:'1080:720'  
            ct: '2',//6.2新增長的參數,主要針對有些視頻拖動時時間出錯的修正參數,默認是2,自動修正,1是強制修正,0是強制不修正  
            //調用播放器的全部參數列表結束  
            //如下爲自定義的播放器參數用來在插件裏引用的  
            my_url: encodeURIComponent(window.location.href)//本頁面地址  
            //調用自定義播放器參數結束  
        };
        var params = { bgcolor: '#FFF', allowFullScreen: true, allowScriptAccess: 'always' };//這裏定義播放器的其它參數如背景色(跟flashvars中的b不一樣),是否支持全屏,是否支持交互  
        var attributes = { id: 'ckplayer_a1', name: 'ckplayer_a1', menu: 'false' };
        //下面一行是調用播放器了,括號裏的參數含義:(播放器文件,要顯示在的div容器,寬,高,須要flash的版本,當用戶沒有該版本的提示,加載初始化參數,加載設置參數如背景,加載attributes參數,主要用來設置播放器的id)  
        CKobject.embedSWF('ckplayer/ckplayer.swf', 'a1', 'ckplayer_a1', '650', '380', flashvars, params);
        var video = ['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4', 'http://www.ckplayer.com/webm/0.webm->video/webm', 'http://www.ckplayer.com/webm/0.ogv->video/ogg'];
        var support = ['iPad', 'iPhone', 'iOS', 'Android+false', 'msie10+false'];//默認的在ipad,iphone,ios設備中用HTML5播放,android,ie10上沒有安裝flash的也調用html5  
        CKobject.embedHTML5('video', 'ckplayer_a1', 600, 400, video, flashvars, support);
  </script>


調用HTML5播放器代碼
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ckplayer只調用html5播放器</title>
</head>
<body>
<div id="a1"></div>
<script type="text/javascript" src="ckplayer/ckplayer.js" charset="utf-8"></script>
<script type="text/javascript">
    var flashvars={
        p:1,
        e:1,
        hl:'http://movie.ks.js.cn/flv/other/1_0.mp4',
        ht:'20',
        hr:'http://www.ckplayer.com'
        };
    var video=['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4','http://www.ckplayer.com/webm/0.webm->video/webm','http://www.ckplayer.com/webm/0.ogv->video/ogg'];
    var support=['all'];
    CKobject.embedHTML5('a1','ckplayer_a1',600,400,video,flashvars,support);
</script>
</body>
</html>  

可見上面的例子裏,播放器須要的數據都是靜態填上的,若是須要用到PHP,也就是後端,其實就是直接傳遞,渲染數據,前端的flashvars所須要的數據,均可以在後端存儲後動態調用。
<?php

public function flashvars($input)
{
    if(empty($input)){
        throw new Exception("參數不存在", 1);
    }

    //獲取數據前提是已經在後臺設置好了數據,這裏直接獲取
    $result = "加入這裏是從數據表裏取出數據";
    $data = [
        'p' => result['p'],
        'e' => result['e'],
        'hl' => result['hl'],
        'ht' => result['ht'],
        'hr' => result['hr'],
        'video' => result['video'], //video這裏能夠有多個播放連接地址的
    ];

    /*p:1,
    e:1,
    hl:'http://movie.ks.js.cn/flv/other/1_0.mp4',
    ht:'20',
    hr:'http://www.ckplayer.com'
    var video=['http://movie.ks.js.cn/flv/other/1_0.mp4->video/mp4','http://www.ckplayer.com/webm/0.webm->video/webm','http://www.ckplayer.com/webm/0.ogv->video/ogg'];
    var support=['all'];*/

    //接下來就是渲染到視圖咯
    return ('/view.html',$data);   //這裏只是作示例,用框架的得用框架的語法來!

}
相關文章
相關標籤/搜索