ACUtoVR
概述
ACUtoVR 封装了UtoVR SDK。
关于UtoVR
UtoVR播放器 一站式SDK是一款自主研发的VR视频软件开发包可以帮助您在自己的产品中,快速实现VR视频的播放功能。UtoVR SDK全面支持硬件解码可与手机移动端、PC端、VR头显、电视机顶盒等多终端硬件整合,简洁易用的API接口赢得了国内外众多VR开发者的青睐。
open
打开播放器界面
open({params})
params
rect:
- 类型:JSON对象
- 描述:(可选项)播放器的位置及长宽
{
x: 0, //(可选项)数字类型;播放器 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;播放器 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:屏幕宽度
h: 300, //(可选项)数字类型;播放器(相对于所属的 Window 或 Frame);默认值:300
}
paths:
- 类型:数组
- 描述:播放资源(仅iOS支持)
- 内部字段:
[{
path:'',//字符串类型;播放资源路径,支持widhet、fs、网络链接
type:0 //(可选项)数字类型;视频来源类型;0:MP4本地视频播放,1:MP4或者M3U8 在线播放
}]
path:
- 类型:字符串类型
- 描述:视频源,支持fs、网络(仅android支持)
type:
- 类型:数字类型
- 描述:(可选项)视频类型,0/MP4 1/M3U8(仅android支持)
- 默认值:0
playMode:
- 类型:数字类型
- 描述:(可选项)播放模式;0:循环播放,1:顺序播放(仅iOS支持)
- 默认值:1
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(ios:只指 frame,传 window 无效)(android可以是frame或者Window,但是在全屏的时候,需要挂在Window上或者frame是全屏)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔类型
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认:true(不随之滚动)
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.open({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
play
开始播放
play()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.play();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pause
暂停播放
pause()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.pause();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
关闭播放器
close()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.close();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示视频播放视图
show()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.show();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏视频播放视图
hide()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.hide();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
appendItems
添加视频集合(仅iOS支持)
appendItems({params})
params
paths:
- 类型:数组
- 描述:播放资源
- 内部字段:
[{
path:'',//字符串类型;播放资源路径,支持widhet、fs、网络链接
type:0 //(可选项)数字类型;视频来源类型;0:MP4本地视频播放,1:MP4或者M3U8 在线播放
}]
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.appendItems({
});
可用性
iOS系统
可提供的1.0.0及更高版本
advanceToNextItem
播放下一个(仅iOS支持)
advanceToNextItem()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.advanceToNextItem();
可用性
iOS系统
可提供的1.0.0及更高版本
replayLast
重播。重播最后一个视频,android为重播
replayLast()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.replayLast();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearItems
清空播放列表(仅iOS支持)
clearItems()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.clearItems();
可用性
iOS系统
可提供的1.0.0及更高版本
seekToProgress
进度跳转
seekToProgress({params})
params
progress:
- 类型:数字
- 描述:要跳转的位置。传入参数为目的时间占总体时长的百分比
- 取值范围:0-1
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.seekToProgress({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resetPerspective
恢复初始视角
resetPerspective()
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.resetPerspective();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setGyroscope
开启/关闭陀螺仪
setGyroscope({params})
params
gyroscope:
- 类型:布尔
- 描述:是否开启
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.setGyroscope({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setDuralScreenEnabled
开启/关闭双屏功能
setDuralScreenEnabled({params})
params
duralScreen:
- 类型:布尔
- 描述:是否开启
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.setDuralScreenEnabled({
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setMuted
禁音/开启声音功能(仅iOS支持)
setMuted({params})
params
muted:
- 类型:布尔
- 描述:是否禁音
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.setMuted({
});
可用性
iOS系统
可提供的1.0.0及更高版本
addPlayerListener*
添加监听
addPlayerListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
eventType: '', //字符串类型;播放器状态,取值范围如下:
//didAddItem:成功添加一个播放资源(仅iOS支持)
//failedToAddItem:添加播放资源失败(仅iOS支持)
//preparing:播放器准备完成(仅android支持)
//buffering: 开始缓冲(仅android支持)
//willBeginPlayItem:将要开始播放一个视频
//didBeginPlayItem:视频播放开始。当前播放任务顺利开始(仅iOS支持)
//playItemFailed:播放视频失败。当前播放任务失败(仅iOS支持)
//startSeconds:缓存进度更新。缓存进度的更新信息是由一个区间来描述,即当前缓存的起始时间和当前缓存的时长,单位是相对于当前视频的总时长的。实际缓存到的位置为startSeconds + duration(仅iOS支持)
//playingTimeDidChanged:播放进度更新
//didGetDuration:获取到总时长(仅iOS支持)
//playingStatusDidChanged:播放器状态变化(仅iOS支持)
//finishedPlayingItem:播放完一个视频,android为播放结束
//trackDisabled: 音频,视频,字幕轨道不可用(仅android支持)
//trackDefault: 音频,视频,字幕轨道使用默认值(仅android支持)
//playerFinished:播放任务完成。按照设定的播放模式播放完了所有视频时触发
//openGyroscopeSuccess:陀螺仪器打开状态。使用此方法来更新界面陀螺仪打开状态(仅iOS支持)
//playerGysoscopeClosed:陀螺仪功能关闭(仅iOS支持)
//switchToDuralScreenMode:是否开启了双屏显示功能(仅iOS支持)
//playerPanedHorizontal:水平滑动。用户是否在播放器上进行了水平滑动的操作,下同。(仅iOS支持)
//playerPanedVertical:竖直滑动(仅iOS支持)
//zoomed:缩放(仅iOS支持)
//playerSingleClicked:单击事件(仅iOS支持)
item:{ //json对象,播放资源,willBeginPlayItem、didBeginPlayItem、finishedPlayingItem事件返回(仅iOS支持)
path:'', //字符串类型;视频路径
type:0。 //数字类型;视频类型
},
startSeconds:0,//数字类型;起始时间, startSeconds事件返回(仅iOS支持)
duration:6, //数字类型;时长, startSeconds、didGetDuration 事件返回 (仅iOS支持)
newTime:6, //数字类型;当前播放时间, playingTimeDidChanged 事件返回
dict:{}, //json对象,播放状态,playingStatusDidChanged事件返回(仅iOS支持)
success:true, //布尔类型;是否成功, openGyroscopeSuccess、switchToDuralScreenMode事件返回(仅iOS支持)
value:0,//数字类型;缩放数值, zoomed事件返回 (仅iOS支持)
}
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.addPlayerListener(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setPath
设置视频路径,播放完成后可用此接口设置其他视频(仅android支持)
setPath({params},callback(ret,err))
params
path:
- 类型:字符串类型
- 描述:视频源,支持fs、网络
type:
- 类型:数字类型
- 描述:(可选项)视频类型,0/MP4 1/M3U8
- 默认值:0
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否设置成功 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.setPath({
path:'',
type:1
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
getBufferedPercentage
当播放网络数据时 获取缓存百分比(仅android支持)
getBufferedPercentage({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 percentage:, //数字类型,缓存进度 百分百 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.getBufferedPercentage({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
getBufferedPosition
当播放网络数据时 获取缓存进度(仅android支持)
getBufferedPosition({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 position:, //数字类型,缓存进度 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.getBufferedPercentage({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
getCurrentPosition
获取当前播放位置(仅android支持)
getCurrentPosition({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 position:, //数字类型,当前位置 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.getCurrentPosition({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
getDuration
获取总时长(仅android支持)
getDuration({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 duration:, //数字类型,总时长 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.getDuration({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
isDualScreenEnabled
是否为双屏(仅android支持)
isDualScreenEnabled({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 enabled:, //布尔类型,是否为双屏 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.isDualScreenEnabled({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
isGyroEnabled
是否在使用陀螺仪(仅android支持)
isGyroEnabled({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 enabled:, //布尔类型,是否在使用陀螺仪 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.isGyroEnabled({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本
isPlaying
是否正在播放(仅android支持)
isPlaying({params},callback(ret,err))
callback(ret,err)
ret:
类型:JSON 对象
内部字段:
{ status:, //布尔类型,是否获取成功 playing:, //布尔类型;是否正在播放 }
err:
类型:JSON对象
内部字段
{ msg:'', //字符串类型,错误信息 }
示例代码
var ACUtoVR = api.require('ACUtoVR');
ACUtoVR.isPlaying({
},function(ret,err){
});
可用性
Android系统
可提供的1.0.0及更高版本