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及更高版本