vrPlayer
来自于:开发者立即使用
addEventListener openVrPlayer switchInteractive switchDisplay switchProjection closeVrPlayer getDuration getCurrentPosition seekTo
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
VR简介
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。
vrPlayer 模块概述
本模块暂仅封装了mp4格式的vr视频播放。(备注:本模块播放vr视频只适合用高端手机,安卓系统6.0以上,ios系统8.0以上,请开发者自行进行控制。)
固件要求
Android:6.0及以上 iOS:8.0及以上
模块接口
addEventListener
监听手机不支持某互动类型(运动|触摸|运动&触摸)
addEventListener(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true
code : 0, //视频的互动类型(0:运动 1:触摸 2:运动&触摸)
msg : '您的手机不支持运动模式'
}
示例代码
var demo = api.require('vrPlayer');
demo.addEventListener(function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
openVrPlayer
播放vr视频
openVrPlayer({params}, callback(ret, err))
params
rect:
- 类型:JSON 对象
- 描述:(必填项)模块的位置及尺寸
- 备注:iOS,Android 必须传此参数。
- 内部字段:
{
x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 250 //(必填项)数字类型;模块的高度;默认值:250
}
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
url:
- 类型:字符串
- 描述:(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、http:// (暂仅支持mp4,请开发者自行控制)
interactive:
- 类型:数字型
- 描述:(可选项)设置视频的互动类型(0:运动 1:触摸 2:运动&触摸)
- 默认值:0(运动)
display:
- 类型:数字型
- 描述:(可选项)设置视频显示类型(0:正常 1:双镜头)
- 默认值:0(正常)
projection:
- 类型:数字型
- 描述:(可选项)设置视频投影类型(0:球体 1:圆顶180 2:圆顶230 3:圆顶向上180 4:圆顶向上230 5:立体 6:平面铺满 7:平面剪裁 8:平面全铺)
- 默认值:0(球体)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ""
}
示例代码
var demo = api.require('vrPlayer');
demo.openVrPlayer({
rect : {
x : 0,
y : 0,
w : api.frameWidth,
h : 300
},
fixedOn : api.frameName,
fixed : true,
url : 'widget://res/skyrim360.mp4',
interactive : 0,
display : 0,
projection : 0
},function(ret, err) {
alert(JSON.stringify(ret));
});
备注
如果安卓部分手机不支持运动模式,打开视频的时候会有2个回调,第一次回调status=false,错误结果在err里面,打开视频成功后会有一次回到status=true
可用性
iOS系统、Android系统
可提供的1.0.0及更高版本
switchInteractive
设置视频的互动
switchInteractive({params}, callback(ret, err))
params
interactive:
- 类型:数字型
- 描述:(可选项)设置视频的互动类型(0:运动 1:触摸 2:运动&触摸)
- 默认值:0(运动)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ""
}
示例代码
var demo = api.require('vrPlayer');
demo.switchInteractive({
interactive : 1
}, function(ret, err) {
});
可用性
iOS系统、Android系统
可提供的1.0.0及更高版本
switchDisplay
设置视频的显示模式
switchDisplay({params}, callback(ret, err))
params
display:
- 类型:数字型
- 描述:(可选项)设置视频显示类型(0:正常 1:双镜头)
- 默认值:0(正常)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ""
}
示例代码
var demo = api.require('vrPlayer');
demo.switchDisplay({
display : 0
}, function(ret, err) {
});
可用性
iOS系统、Android系统
可提供的1.0.0及更高版本
switchProjection
设置视频的影像模式
switchProjection({params}, callback(ret, err))
params
projection:
- 类型:数字型
- 描述:(可选项)设置视频投影类型(0:球体 1:圆顶180 2:圆顶230 3:圆顶向上180 4:圆顶向上230 5:立体 6:平面铺满 7:平面剪裁 8:平面全铺)
- 默认值:0(球体)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ""
}
示例代码
var demo = api.require('vrPlayer');
demo.switchProjection({
projection : 0
}, function(ret, err) {
});
可用性
iOS系统、Android系统
可提供的1.0.0及更高版本
closeVrPlayer
关闭
closeVrPlayer(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ""
}
示例代码
var demo = api.require('vrPlayer');
demo.closeVrPlayer(function(ret, err) {
});
可用性
iOS系统、Android系统
可提供的1.0.0及更高版本
getDuration
获取视频的时长
getDuration(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
duration : 1221122//视频的总时长
}
示例代码
var obj = api.require('vrPlayer');
obj.getDuration(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getCurrentPosition
获取已经播放的时长
getCurrentPosition(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
currentPosition : 2221//已经播放的时长
}
示例代码
var obj = api.require('vrPlayer');
obj.getCurrentPosition(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
seekTo
设置播放进度位置(请根据视频最大时长进行参数控制传入)
seekTo({params}, callback(ret, err))
params
process:
- 类型:数字型
- 描述:(必填项)设置视频需要播放的时长
- 默认值:0
示例代码
var demo = api.require('vrPlayer');
demo.seekTo({
process : 402334
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本