2.2、jwplayer视频播放(FLV,mp4)实现和已封装好的php接口

2.2.1、PHP调用方法

<?php
class flv{
    var $flv_root = '/resources/jwplayer/';
    
    public static function get_header(){
        echo "<script type='text/javascript' src='/resources/jwplayer/jwplayer.js'></script>";        
    }
    
    #$arr为数组类型的播放列表;
    #只有一个视频不显示播放列表,整个宽度设置为800px;多个视频显示播放列表,宽度设置为1000px,播放列表宽度设为200px;    
    public function flv($arr){
        $width=800;
        $height=450;
        $size=1;
        if(count($arr)>=2){
            $size=200;
            $width=1000;
        }        
        $list = json_encode($arr);        
        $retval = '';
        #$options = array();        
        $retval .= "<div id='myElement'></div>\n";
        $retval .= "<script type='text/javascript'>\n";
        $retval .= "jwplayer('myElement').setup({\n";
        $retval .= "flashplayer:'/resources/jwplayer/jwplayer.flash.swf',\n"; #播放器路径
        $retval .= "primary:'flash',\n"; #默认以flash形式播放,也可以设置为html5
        $retval .= "playlist:{$list},\n"; #播放列表
        $retval .= "width:{$width},\n"; #播放器宽度(包括播放列表)
        #$retval .= "aspectratio:'4:3',\n"; #播放器长宽比
        $retval .= "height: {$height},\n"; #播放器高度
        $retval .= "listbar:{position:'right',size:{$size},layout:'extended'},\n"; #播放器列表显示样式 basic/extended
        $retval .= "captions:{color:'#FF0000',backgroundColor:'#F1F1F1',windowColor:'#FF6600'},\n"; #设置节点显示样式,加载的是.vtt文件
        $retval .= "logo:{file:'',link:'http://www.hrloo.com'},\n"; #logo链接和logo链接的地址
        $retval .= "autostart:'false',\n"; #是否自动播放
        $retval .= "repeat:'true',\n"; #是否循环播放
        $retval .= "startparam:'start',\n";
        $retval .= "provider:'http',\n"; #视频流协议类型
        $retval .= "stretching:'uniform',\n"; #视频缩略图(视频)填充类型:等比例放大/缩小填充        
        $retval .= "streamer:'start'"; #设置视频文件加载方式,是否支持拖动加载,FLV(start)
        $retval .= "});\n";
        $retval .= "</script>";        
        echo $retval;
    }    
}
?>

2.2.2、调用参数格式为:

<?php
#list数组为传给播放器的参数(可多个视频,多个分辨率)
$list=array(
        array(
                'image'=>'',//视频封面
                'sources'=>array(                        
                        array('file'=>'flv/ssshr1024x768.flv','label'=>'1024x768'),//播放的视频路径和清晰度提示选择
                        array('file'=>'flv/ssshr640x480.flv','label'=>'640x480','default'=>'true'),//default选项可以设置默认播放的清晰度
                        array('file'=>'flv/ssshr352x288.flv','label'=>'352x288')
                ),
                'title'=>'人力资源培训课程测试',//视频标题
                'description'=>'培训课程',//视频简介,播放列表为图片模式可以显示
                'tracks'=>array(
                        array('file'=>'mario.vtt','kind'=>'chapters'), //视频节点提示文子
                        array('file'=>'','kind'=>'thumbnails') //视频节点缩略图
                        )
                ),
        array(
                'image'=>'',
                'sources'=>array(
                        array('file'=>'flv/sco01_01.swf','label'=>'720p HD'),
                        array('file'=>'mario.flv','label'=>'720p HD')
                        ),
                'title'=>'mario1 test flv',
                'description'=>'马里奥马里奥',
                'tracks'=>array(
                        array('file'=>'mario.vtt')
                        )
                )
    )
?>

2.2.3、使用方法:

<?php
$flv = new flv($list);
$flv->get_header();
$flv->flv($list);
?>

 

posted @ 2014-07-14 11:04  土豆王  阅读(1448)  评论(0编辑  收藏  举报