JS SDK使用指南

使用说明

单图片

参考pano.html

特殊说明:1. 热点设置了名称,在vr状态下不显示热点。

引入detuPlayer.js文件

<script src="http://oss-static.detu.com/detu_player/v1.0.0/detuPlayer.js"></script>

在HTML中声明生成播放器的div

<div id="pano" style="width:100%;height:100%;"></div>

配置播放

detuPlayer.pano({
    target:'pano',//生成播放器的div的id
    lang:'en',//播放器的语言环境 en 或者 zh
    data:{
        name:'test', //场景名称只在电脑端展示
        top_logo_address:"",//顶部logo遮罩的图片地址,空值不显示
        floor_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",//底部logo遮罩的图片地址,空值不显示 
        little_planet_start:true,//小行星开场
        player_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",// 播放器左上角的logo,只在电脑端展示
        scenes:[
            {
                "id":"220666",//场景的id,必须是唯一值
                "preview":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_preview_detunew.jpg",//预加载显示图片,如果全景图片传入的是sphere格式的图片,那么预览图也是sphere格式的图片,如果全景图片是html5_path的格式,那么预览图为六面图

                "sphere":"http://media.detu.com/@/79945993-153D-446B-0781-B18F69922537/2017-05-14/591818fb2c0b4.jpg",//传入2:1的全景图片地址,sphere的变量和html5_path变量选择一个传入就可以

                "html5_path":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_html",//传入分层图片的文件夹地址,sphere的变量和html5_path变量选择一个传入就可以
                "width":"14000",//原全景图片的宽,用于计算分层的层数
                "height":"7000",//原全景图片的高,用于计算分层的层数

                "prealign":"0",//调整全景方向,0:不调整 1:向下翻转90度 2:向上翻转90度 3:向上翻转180度
                "effect":6,  //特效 1:小雨 2:中雨  3:大雨  4:小雪 5:中雪 6:大雪

                "ath":0, //初始画面中心点的经度坐标,值范围-180至180                         
                "atv":0,//初始画面中心点的纬度坐标,值必须在最大最小垂直坐标值之间,值范围-90至90    
                "fov":90,//视野范围,值必须在最大最小视野范围之间,值范围0至180                     
                "fovmin":60,//场景支持最小视野范围                    
                "fovmax":120, // 场景支持最大视野范围                     

                "vlookatmin":-90,//场景支持最小垂直坐标               
                "vlookatmax":90, //场景支持最大垂直坐标               

                "hotspots": [
                    {//链接热点
                        title:"hotspot title 1",        //热点名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/hotspot-icon-1.png",        //热点图标不能为空值
                        url:"http://detu.com",          //点击热点浏览器打开的链接
                        ath:0,                          //热点的位置的经度坐标,值范围-180至180    
                        atv:0                           //热点的位置的纬度位置,值范围-90至90  
                    },
                    {//图片热点
                        title:"",       //热点名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/hotspot-icon-1.png",        //热点图标不能为空值
                        image:"http://media.detu.com/@/50872914-1591-657E-F14C-826F38122531/source/220283/o_1bfvru486qohro8h7o11i0no7f.jpg",//点击热点弹窗显示图片
                        ath:10,                         //热点的位置的经度坐标,值范围-180至180
                        atv:10                          //热点的位置的纬度位置,值范围-90至90
                    }
                ],                  

                "bgsound": 'http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3'//背景音乐资源地址,空值不显示
            }
        ]
    }
})

漫游

参考vtour.html

特殊说明:1. 路径热点设置了名称,在vr状态下不显示路径热点。

引入detuPlayer.js文件

<script src="http://oss-static.detu.com/detu_player/v1.0.0/detuPlayer.js"></script>

在HTML中声明生成播放器的div

<div id="pano" style="width:100%;height:100%;"></div>

配置播放

detuPlayer.vtour({
    target:'pano',//生成播放器的div的id
    lang:'en',//播放器的语言环境 en 或者 zh
    data:{
        name:'test',//场景名称只在电脑端展示
        top_logo_address:"",//顶部logo遮罩的图片地址,空值不显示
        floor_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",//底部logo遮罩的图片地址,空值不显示 
        little_planet_start:true,//小行星开场
        player_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",// 播放器左上角的logo,只在电脑端展示
        scenes:[
            {
                "id":"220666",//场景的id,必须是唯一值
                "name":"场景名称1",//场景名称,显示在缩略图列表中
                "thumb":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-1000x500.jpg?imageView2/2/h/100",//底部列表显示缩略图
                "preview":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_preview_detunew.jpg",//预加载显示图片,如果全景图片传入的是sphere格式的图片,那么预览图也是sphere格式的图片,如果全景图片是html5_path的格式,那么预览图为六面图
                "sphere":"http://media.detu.com/@/79945993-153D-446B-0781-B18F69922537/2017-05-14/591818fb2c0b4.jpg",//传入2:1的全景图片地址,sphere的变量和html5_path变量选择一个传入就可以
                "html5_path":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_html",//传入分层图片的文件夹地址,sphere的变量和html5_path变量选择一个传入就可以
                "width":"14000",//原全景图片的宽,用于计算分层的层数
                "height":"7000",//原全景图片的高,用于计算分层的层数

                "prealign":"0",//调整全景方向,0:不调整 1:向下翻转90度 2:向上翻转90度 3:向上翻转180度
                "effect":6, //特效 1:小雨 2:中雨  3:大雨  4:小雪 5:中雪 6:大雪

                "ath":0,//初始画面中心点的经度坐标,值范围-180至180                          
                "atv":0,//初始画面中心点的纬度坐标,值必须在最大最小垂直坐标值之间,值范围-90至90    
                "fov":90,//视野范围,值必须在最大最小视野范围之间,值范围0至180                     
                "fovmin":60,//场景支持最小视野范围                    
                "fovmax":120, // 场景支持最大视野范围                     

                "vlookatmin":-90,//场景支持最小垂直坐标               
                "vlookatmax":90,//场景支持最大垂直坐标                

                "routes": [
                    {
                        title:"route title 1",          //路径名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/route-icon-1-1.png",        //路径图标不能为空值
                        target_scene_id:"220667",       //路径跳转的场景id
                        ath:-10,                        //路径的位置的经度坐标,值范围-180至180
                        atv:0                           //路径的位置的纬度位置,值范围-90至90
                    },
                    {
                        title:"",                       //路径名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/route-icon-1-1.png",        //路径图标不能为空值
                        target_scene_id:"220667",       //路径跳转的场景id
                        ath:-20,                        //路径的位置的经度坐标,值范围-180至180
                        atv:0                           //路径的位置的纬度位置,值范围-90至90
                    }
                ],                  
                "hotspots": [
                    {//链接热点
                        title:"hotspot title 1",        //热点名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/hotspot-icon-1.png",        //热点图标不能为空值
                        url:"http://detu.com",          //点击热点浏览器打开的链接
                        ath:0,                          //热点的位置的经度坐标,值范围-180至180    
                        atv:0                           //热点的位置的纬度位置,值范围-90至90  
                    },
                    {//图片热点
                        title:"",       //热点名称,可以为空值
                        icon:"http://oss-static.detu.com/public-static/1.19/skin/subject/hotspot-icon-1.png",        //热点图标不能为空值
                        image:"http://media.detu.com/@/50872914-1591-657E-F14C-826F38122531/source/220283/o_1bfvru486qohro8h7o11i0no7f.jpg",//点击热点弹窗显示图片
                        ath:10,                         //热点的位置的经度坐标,值范围-180至180
                        atv:10                          //热点的位置的纬度位置,值范围-90至90
                    }
                ],                  

                "bgsound": 'http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3'//背景音乐资源地址,空值不显示
            },
            {
                "id":"220667",
                "name":"场景名称2",
                "thumb":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-02-24/58afe72cb7f53.jpg?imageView2/2/h/100",
                "preview":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-02-24/58afe72cb7f53.jpg?imageView2/2/h/500",
                "html5_path":"",
                "sphere":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-02-24/58afe72cb7f53.jpg",
                "width":"14000",
                "height":"7000",
                "prealign":"0",
                "effect":6,

                "ath":0,                        
                "atv":0,                        
                "fov":90,                       
                "fovmin":60,                    
                "fovmax":120,                   

                "vlookatmin":-90,               
                "vlookatmax":90,                

                "routes": [

                ],                  
                "hotspots": [
                ],                  

                "bgsound": 'http://media.detu.com/@/50872914-1591-657E-F14C-826F38122531/source/220283/o_1bfvrdajl1bhvg391dmv1jic1cpr7.mp3'//
            },
            {
                "id":"220668",
                "name":"场景名称3",
                "thumb":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-1000x500.jpg?imageView2/2/h/100",
                "preview":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_preview_detunew.jpg",
                "html5_path":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_html",
                "sphere":"http://media.detu.com/@/79945993-153D-446B-0781-B18F69922537/2017-05-14/591818fb2c0b4.jpg",
                "width":"14000",
                "height":"7000",
                "prealign":"0",
                "effect":6,

                "ath":0,                        
                "atv":0,                        
                "fov":90,                       
                "fovmin":60,                    
                "fovmax":120,                   

                "vlookatmin":-90,               
                "vlookatmax":90,                

                "routes": [

                ],                  
                "hotspots": [
                ],                  

                "bgsound": 'http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3'//
            },
            {
                "id":"220669",
                "name":"场景名称4",
                "thumb":"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-1000x500.jpg?imageView2/2/h/100",
                "preview":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_preview_detunew.jpg",
                "html5_path":"http://media.detu.com/panob41372a85026ca92ab657f88aa6038b4/oper/panofile_html",
                "sphere":"http://media.detu.com/@/79945993-153D-446B-0781-B18F69922537/2017-05-14/591818fb2c0b4.jpg",
                "width":"14000",
                "height":"7000",
                "prealign":"0",
                "effect":6,

                "ath":0,                        
                "atv":0,                        
                "fov":90,                       
                "fovmin":60,                    
                "fovmax":120,                   

                "vlookatmin":-90,               
                "vlookatmax":90,                

                "routes": [

                ],                  
                "hotspots": [

                ],                  

                "bgsound": 'http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3'//
            }
        ]
    }
})

单视频

参考video.html

特殊说明:1. 全景视频资源地址必须和html页面的域名相同,不然ios上的视频播放无效,跨域声明无效。ios bug

引入detuPlayer.js文件

<script src="http://oss-static.detu.com/detu_player/v1.0.0/detuPlayer.js"></script>

在HTML中声明生成播放器的div

<div> <!-- 这个是必要的,不然krpano在小尺寸下手机下会显示全屏 -->
    <div id="pano" style="width:100%;height:300px; position: relative;"></div>
</div>

配置播放

var video = detuPlayer.video({
    target:'pano', //生成播放器的div的id
    lang:'en',//播放器语言环境 en或者zh
    data:{
        name:'test', //播放器顶部显示名称,只在电脑端有效
        top_logo_address:"",//播放器顶部遮罩图片地址,空值则不显示
        floor_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",//播放器底部遮罩图片地址,空值则不显示
        little_planet_start:true,//是否小行星开场
        player_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",//播放器左上角logo自定义,空值则显示默认得图logo
        scenes:[
                {
                    id:"222932",//场景的id,必须是唯一值
                    prealign:"0",//调整全景方向,0:不调整 1:向下翻转90度 2:向上翻转90度 3:向上翻转180度
                    videos:[
                        {
                            name:'流畅', //在清晰度选择中的显示名称
                            url:'./5922882439f32-1024x512.mp4',//视频资源
                            preview:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32.jpg', //加载视频的初始预览图片
                            device:'mobile|desktop',  //选择在移动端或者电脑端是否显示该清晰度,可以传递“mobile”:只在移动端显示 或者 “desktop”:只在电脑端显示 或者 “mobile|desktop”:移动端和电脑端都显示
                            default:'mobile' //配置该清晰度是否作为默认播放清晰度,可以传递“mobile”:作为移动端默认播放清晰度 或者 “desktop”:作为电脑端默认播放清晰度 或者 “mobile|desktop”:作为移动端和电脑端默认播放清晰度
                        },
                        {
                            name:'标清',
                            url:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-similar.mp4',
                            preview:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32.jpg',
                            device:'mobile|desktop',
                            default:'desktop'
                        },
                        {
                            name:'高清',
                            url:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-similar.mp4',
                            preview:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32.jpg',
                            device:'desktop'
                        },
                        {
                            name:'原画',
                            url:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32-similar.mp4',
                            preview:'http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32.jpg',
                            device:'desktop'
                        }
                    ],

                    effect:0,//特效 1:小雨 2:中雨  3:大雨  4:小雪 5:中雪 6:大雪
                    ath:0,//初始画面中心点的经度坐标,值范围-180至180    
                    atv:0,//初始画面中心点的纬度坐标,值必须在最大最小垂直坐标值之间,值范围-90至90  
                    fov:90,//视野范围,值必须在最大最小视野范围之间,值范围0至180    
                    fovmin:60, //场景支持最小视野范围                     
                    fovmax:120,// 场景支持最大视野范围                    

                    vlookatmin:-90, //场景支持最小垂直坐标                
                    vlookatmax:90, //场景支持最大垂直坐标             

                    bgsound: ''//http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3 //背景音乐资源地址,空值不显示
                }
        ]
    }
})

播放器的方法调用和状态获取接口

video.play()                //视频播放方法
video.pause()               //视频停止方法
video.remove()              //播放器移除方法
video.get("isvideoready")   //获取视频是否准备完成状态
video.get("ispaused")       //获取视频是否停止状态
video.get("iscomplete")     //获取视频是否播放完成状态

播放器的状态监听

video.on("video_ready",function(){ // 视频播放准备完成回调
    alert('video_ready')
});
video.on("video_play",function(){ // 视频播放开始回调
    alert('video_play')
});
video.on("video_paused",function(){ // 视频播放停止回调
    alert('video_paused')
});
video.on("video_complete",function(){ // 视频播放完成回调
    alert('video_complete')
});
video.on("video_error",function(){// 视频播放错误回调
    alert('video_error')
});

直播

参考live.html

特殊说明: 1.直播的m3u8地址必须和html页面的域名相同,不然ios上的直播无效,跨域声明无效。ios bug 2.直播swf的域名根目录下存放flash的跨域声明文件crossdomain.xml

引入detuPlayer.js文件

<script src="http://oss-static.detu.com/detu_player/v1.0.0/detuPlayer.js"></script>

在HTML中声明生成播放器的div

<div> <!-- 这个是必要的,不然krpano在小尺寸下手机下会显示全屏 -->
    <div id="pano" style="width:100%;height:300px; position: relative;"></div>
</div>

配置播放

var live = detuPlayer.live({
    target:'pano', //生成播放器的div的id
    lang:'zh',//播放器的语言环境 en 或者 zh
    data:{
        name:'test', //场景名称只在电脑端展示
        top_logo_address:"",//顶部logo遮罩的图片地址,空值不显示
        floor_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",//底部logo遮罩的图片地址,空值不显示 
        little_planet_start:true,//小行星开场
        player_logo_address:"http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1anetjvjr1tsd1nqnnht3id2v7.png",// 播放器左上角的logo,只在电脑端展示
        scenes:[
                {
                    id:"222932",//场景的id,必须是唯一值
                    prealign:"0",//调整全景方向,0:不调整 1:向下翻转90度 2:向上翻转90度 3:向上翻转180度
                    swf:"./58cb5cb2a3d5ec7d8217797f.flv", //电脑端展示flash播放器,调用的资源
                    m3u8:"./61474827_61474827_100571200_0_0_10057.m3u8",//移动端展示h5播放器,调用的资源
                    preview:"http://media.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/2017-05-22/5922882439f32.jpg",//预加载显示图片
                    effect:0, //特效 1:小雨 2:中雨  3:大雨  4:小雪 5:中雪 6:大雪
                    ath:0, //初始画面中心点的经度坐标,值范围-180至180                   
                    atv:0, //初始画面中心点的纬度坐标,值必须在最大最小垂直坐标值之间,值范围-90至90             
                    fov:90,//视野范围,值必须在最大最小视野范围之间,值范围0至180                       
                    fovmin:60,//场景支持最小视野范围                  
                    fovmax:120,// 场景支持最大视野范围                

                    vlookatmin:-90,//场景支持最小垂直坐标             
                    vlookatmax:90, //场景支持最大垂直坐标             

                    bgsound: ''//http://media.qicdn.detu.com/@/81109457-8573-561D-DB0B-0D3F92863919/source/122032/o_1ao3hpfer1fj2j1eac11t3hklb7.mp3//背景音乐资源地址,空值不显示
                }
        ]
    }
})

播放器的方法调用和状态获取接口

live.play()         //视频播放方法
live.pause()        //视频停止方法
live.remove()       //播放器移除方法
live.get("isvideoready")    //获取视频是否准备完成状态
live.get("ispaused")        //获取视频是否停止状态
live.get("iscomplete")      //获取视频是否播放完成状态

播放器的状态监听

live.on("video_ready",function(){// 视频播放准备完成回调
    alert('video_ready')
});
live.on("video_play",function(){// 视频播放开始回调
    alert('video_play')
});
live.on("video_paused",function(){// 视频播放停止回调
    alert('video_paused')
});
live.on("video_error",function(){// 视频播放错误回调
    alert('video_error')
});