aliyunVodPlayer

来自于:AC模块工作室立即使用

概述

概述

该模块封装了阿里云的高级播放器,除了具备基础播放器的所有功能外,还提供播放视频的高级能力,如清晰度切换,倍速播放,下载视频等功能,支持网络视频播放、本地视频播放、vid+playauth方式播放、sts方式播放。建议使用阿里视频云点播和直播业务的用户使用 。可参考官方文档[https://help.aliyun.com/document_detail/61910.html?spm=a2c4g.11186623.6.692.DV37sN]

系统要求

  • ios:
    • SDK支持iOS 8.0及以上版本系统
  • Android:
    • SDK支持Android 4.1.2及以上版本

注意

1.使用该模块时需要使用升级后的编译环境,请在云编译的时候勾选“使用升级环境编译”,并且在控制台 “高级设置” 中将固件版本设置为 4.1.2或以上 2.当前SDK仅支持HLS、RTMP、HTTP FLV、mp4、mp3等流格式,支持的视频编码格式为H264,音频编码格式为AAC。建议使用MPS或点播平台转码后使用。 3.适配iPhone5S以上机型,低端机型在使用变速功能时可能存在性能问题

initPlayer

初始化播放器

该接口必须配合prepareToPlay和start,pause等接口使用

initPlayer(callback(ret))

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:414,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:300                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status : true //初始化是否成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.initPlayer({
rect:{
x:0,
y:0,
w:320,
h:300
}},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openCustomPlayer

打开定制播放器(sts、playAuth、url这三种播放方式只需选取一种,播放器首先尝试以sts的方式播放,如果没有传sts参数,播放器就以playAuth,如果playAuth也没有传参,就以url方式进行播放)

注意: 1.该接口是一个UI类播放器,可独立使用,也可配合start,pause 等接口使用 2.该播放器播放完成之后,滑动条无法点击,只能手动点击播放按钮或者调用start接口

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)预览窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:300,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认300
    h:600                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}

sts:

  • 类型:JSON类型
  • 描述:使用vid+STS方式播放(该方式需要将视频存储在阿里云服务器,支持清晰度切换)
  • 内部字段:
{
   vid:'',          // 字符串类型;视频id
   akId:'',         // 字符串类型;视频访问id
   akSecret:'',     // 字符串类型;视频访问秘钥
   securityToken:'' // 字符串类型;安全token
}

playAuth:

  • 类型:JSON类型
  • 描述:使用playAuth方式播放(该方式需要将视频存储在阿里云服务器,支持清晰度切换)
  • 内部字段:
{
   vid:'',        // 字符串类型;视频id
   authInfo:''    // 字符串类型;视频认证信息
}

url:

  • 类型:字符串
  • 描述:使用url播放方式(该方式可以播放所有网络视频,不支持清晰度切换,android系统如果播放本地视频需要在路径前加file://,如 file:///storage/emulated/0/test.mp4)

showDefinitionLabel:

  • 类型:布尔类型
  • 描述:是否显示清晰度切换标签(注意:只会在竖屏显示该标签,如果当前播放视频不支持清晰度切换,通过点击该标签切换视频会造成视频卡顿)
  • 默认:false

definitionLabelMarginRight:

  • 类型:数字类型
  • 描述:清晰度切换标签的右边距
  • 默认:15

isShowBackBtn:

  • 类型:布尔类型
  • 描述:是否显示返回按钮(注意:只对竖屏有效)
  • 默认:true

autoPlay:

  • 类型:布尔类型
  • 描述:是否自动播放

autoRotate:

  • 类型:布尔类型
  • 描述:是否自动转屏(仅支持android)
  • 默认:false

isFullScreen:

  • 类型:布尔类型
  • 描述:是否全屏播放
  • 默认:false

isControlDisplay:

  • 类型:布尔类型
  • 描述:是否显示控制层
  • 默认:true

topControlColor:

  • 类型:字符串
  • 描述:顶部控制层的背景颜色(显示返回按钮和标题的控制层)
  • 默认:rgba(245,245,245,0)

bottomControlColor:

  • 类型:字符串
  • 描述:底部控制层的背景颜色(显示播放暂停按钮,进度条以及全屏按钮的控制层)
  • 默认:rgba(245,245,245,0)

title:

  • 类型:字符串
  • 描述:视频标题

danmuBtnVisible:

  • 类型:布尔类型
  • 描述:弹幕按钮是否显示
  • 默认:true

nextBtnVisible:

  • 类型:布尔类型
  • 描述:next按钮是否显示
  • 默认:true

imageResourcesDict:

  • 类型:JSON 对象
  • 描述:视频图标
  • 内部字段:
   {
    header:{//(可选项)JSON对象;播放器顶部导航条样式    
       landscapeBackImg:'widget://img/landscapeBack.png', //(可选项)字符串类型;顶部横屏返回按钮的背景图片,要求本地路径(widget://、fs://);默认:返回左边箭头图标
       portraitBackImg:'widget://img/portraitBack.png', //(可选项)字符串类型;顶部竖屏返回按钮的背景图片,要求本地路径(widget://、fs://);默认:返回左边箭头图标
       barrageBtn:{ //(可选项)弹幕开关
        barrageOpenImg:'widget://img/open.png',//(可选项) 弹幕打开按钮,要求本地路径(widget://、fs://);默认:弹幕打开图标
        barrageCloseImg:'widget://img/close.png'//(可选项) 弹幕关闭按钮,要求本地路径(widget://、fs://);默认:弹幕关闭图标

       },

       setImg:'widget://img/set.png', //(可选项)弹幕按钮右边的设置按钮 ,要求本地路径(widget://、fs://);默认:设置图标
       openFloatWindowImg:'widget://img/openFloatWindowImg.png',//(可选项) 打开悬浮窗按钮,要求本地路径(widget://、fs://);不传则按钮不存在(注意:该按钮只在竖屏的时候显示)
       downloadBtnImg:'widget://img/downloadImg.png' //(可选项)下载按钮图标设置,支持路径widget:// & fs://;不传不显示
           },  
    footer:{                                  //(可选项)JSON对象;播放器底部导航条样式    
         playBtn:{
                 playImg:'widget://img/play.png',  //(可选项)字符串类型;底部播放按钮的背景图片,要求本地路径(widget://、fs://);默认:播放按钮图标
                 pauseImg:'widget://img/pause.png',//(可选项)字符串类型;底部暂停按钮的背景图片,要求本地路径(widget://、fs://);默认:暂停按钮图标 
             },               
         seekBar:{
              sliderImg:'widget://img/slder.png', //(可选项)字符串类型;底部进度条滑块背景图片,要求本地路径(widget://、fs://);默认:滑块小图标
             },
         nextBtn:{
             nextImg:'widget://img/nextImg.png', //(可选项)字符串类型;底部下一集背景图片,要求本地路径(widget://、fs://);默认:下一集按钮图标
             },
             fullscreenBtn:{
                 verticalImg:'widget://img/vertical.png',       //(可选项)字符串类型;底部横竖屏切换按钮的背景图片,竖屏状态下的切换按钮,要求本地路径(widget://、fs://);默认:竖屏按钮图标
                 horizontalImg:'widget://img/horizontal.png',     //(可选项)字符串类型;底部横竖屏切换按钮的背景图片,横屏状态下的切换按钮,要求本地路径(widget://、fs://);默认:横屏按钮图标
             }


    },

     lockBtn:{
                 screenLockImg:'widget://img/screenLock.png',       //(可选项)字符串类型;锁屏按钮的背景图片,要求本地路径(widget://、fs://);默认:锁屏按钮图标
                 screenUnlockImg:'widget://img/screenUnlock.png',     //(可选项)字符串类型;解锁按钮的背景图片,要求本地路径(widget://、fs://);默认:未锁屏按钮图标
             }
}

quality:

  • 类型:字符串
  • 描述:清晰度
  • 默认:LD //标清
  • 取值范围:
    • LD //标清
    • SD //高清
    • HD //超清

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    eventType:'play' // play     点击播放
                         // show     播放器显示事件
                         // prepared 播放器准备完毕
                         // firstFrame 视频首帧
                         // pause    点击暂停
                         // back     点击返回按钮
                         // lock  锁屏
                         // unLock 未锁屏
                         // landscape 切换至全屏事件
                         // portrait  切换至竖屏
                         // next 点击next
                         // replay 重播
                         // finish 播放完毕
                         // danmuOpen 弹幕打开
                         // danmuClose 弹幕关闭
                         // openFloatWindow 打开悬浮窗
                         // download 点击下载按钮
                         // seekDown  视频Seek完成时调用(仅支持安卓再次回调)        
                         // 播放器鉴权数据过期回调,出现过期可重新prepare新的地址或进行UI上的错误提醒 timeExpired **该参数仅支持iOS**
                         // 播放过程中鉴权即将过期时提供的回调消息(过期前一分钟回调) addressExpired **注意.:鉴权有效期为2小时,在这个回调里面可以提前请求新的鉴权,stop上一次播放,prepare新的地址,seek到当前位置**  **该参数仅支持iOS**                                      
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.openCustomPlayer({
    rect:{
          x:0,
          y:0,
          w:200,
          h:200
    }
    url:'xxx'
}, function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeCustomPlayer

关闭自定义播放器

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.closeCustomPlayer()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onBack

点击返回键时调用此方法

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.onBack()

可用性

ios,Android系统

可提供的1.0.0及更高版本

openFloatWindow

打开悬浮窗口(注意Android需要打开悬浮窗权限,否则会出现异常)

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)窗口的位置及大小
  • 内部字段:
{
    x: 0,                              //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,                              //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w:300,                             //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认120
    h:600                              //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认100
}

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    eventType:'close' // close  悬浮窗关闭事件
                     // clicked 悬浮窗点击事件         
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.openFloatWindow(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

prepareToPlay

准备播放 (sts、playAuth、url这三种播放方式只需选取一种,播放器首先尝试以sts的方式播放,如果没有传sts参数,播放器就以playAuth,如果playAuth也没有传参,就以url方式进行播放)

prepareToPlay({params},callback(ret))

params

sts:

  • 类型:JSON类型
  • 描述:使用vid+STS方式播放
  • 内部字段:
{
   vid:'',          // 字符串类型
   akId:'',         // 字符串类型
   akSecret:'',     // 字符串类型
   securityToken:'' // 字符串类型
}

playAuth:

  • 类型:JSON类型
  • 描述:使用playAuth方式播放
  • 内部字段:
{
   vid:'',        // 字符串类型
   authInfo:''    // 字符串类型
}

url:

  • 类型:字符串
  • 描述:播放url

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.prepareToPlay({
url:''
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示

show()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.show()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏

hide()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.hide()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭

close()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.close()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

start

开始播放

start()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.start()

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.stop();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.pause();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resume

恢复播放

resume()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.resume();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

replay

重播,播放上一次的url

replay()

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.replay();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

seekToTime

跳转到指定时间点播放(在播放器状态firstFrame之后才能调用此函数)

seekToTime({params})

params

position:

  • 类型:数字类型
  • 描述:播放的指定位置

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    eventType: // seekDown  视频Seek完成时调用   (仅支持iOS)                                        
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.seekToTime({
    position:10000
},function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

quality

清晰度切换

quality({params})

params

quality:

  • 类型:字符串
  • 描述:清晰度
  • 取值范围:
    • FD //流畅
    • LD //标清
    • SD //高清
    • HD //超清
    • 2K //2k
    • 4K //4k
    • OD //原画

示例代码

var UIAlivcLivePlayer = api.require('UIAlivcLivePlayer');
UIAlivcLivePlayer.setQuality({
    quality:'FD'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCirclePlay

循环播放设置

setCirclePlay({params})

params

isCirclePlay:

  • 类型:布尔类型
  • 描述:是否循环播放

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setCirclePlay({
    isCirclePlay:true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCurrentPosition

获取当前播放位置

getCurrentPosition(callback(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    position : 10000 // 当前播放位置
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.getCurrentPosition(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDuration

获取视频长度

getDuration(callback(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    duration : 10000 //视频长度
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.getDuration(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setPlaySpeed

倍数播放支持0.5~2倍的设置,支持音频变速不变调

setPlaySpeed({params})

params

speed:

  • 类型:数字类型(浮点类型)
  • 描述:倍速
  • 取值范围:0.5~2

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setPlaySpeed({
    speed:1.0
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

snapShot

截图

snapShot({params},callback(ret))

params

path:

  • 类型:字符串
  • 描述:截图保存路径(如果路径无效会保存失败)只支持fs://等本地路径

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status : true //是否保存成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.snapShot({
    path:'fs://test/tt.jpg'
},function(ret){
    alert(JSON.stringify(ret));
})

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRenderRotate

设置视频画面旋转角度,支持0°,90°,180°,270°设置,默认0°,角度按顺时针方向计算

setRenderRotate({params})

params

rotate:

  • 类型:数字类型
  • 描述:画面旋转角度
  • 取值范围:
    • 0
    • 90
    • 180
    • 270

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setRenderRotate({
    rotate:90
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRenderMirrorMode

setRenderMirrorMode({params})

支持设置画面镜像,包括水平镜像和垂直镜像。默认为无镜像

params

mode:

  • 类型:字符串
  • 描述:画面镜像模式
  • 取值范围:
    • vertical
    • horizontal
    • none

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setRenderMirrorMode({
    mode:'vertical'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

setVolume({params})

音量设置

params

volume:

  • 类型:数字类型
  • 描述:音量
  • 取值范围:0~100

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setVolume({
    volume:50
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setMuteMode

setMuteMode({params})

静音设置

params

isMute

  • 类型:布尔类型
  • 描述:是否静音

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setMuteMode({
    isMute:true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setScreenBrightness

setScreenBrightness({params})

设置屏幕亮度

params

brightness:

  • 类型:数字类型
  • 描述:屏幕亮度
  • 取值范围: 0~100

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setScreenBrightness({
    brightness:30
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setDisplayMode

setDisplayMode({params})

设置显示模式

params

scalingMode:

  • 类型:字符串类型
  • 描述:显示模式
  • 取值范围:
    • fit //保持原始比例
    • crop //全屏占满屏幕

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setDisplayMode({
    scalingMode:'fit'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

addEventListener()

添加播放器监听事件

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    eventType : 'prepared'  // 准备完成
                    // 暂停后恢复播放时触发 play
                   // 播放视频首帧显示出来时触发 firstFrame
                   // 视频暂停时触发 pause
                   // 主动使用stop接口时触发 stop
                   // 视频正常播放完成时触发 finish
                   // 视频开始载入时触发 beginLoading
                   // 视频加载完成时触发 endLoading
                   // 视频Seek完成时触发 seekDone
                   // 将要切换清晰度时触发 willSwitch
                   // 清晰度切换完成后触发 finishSwitch
                   // 清晰度切换失败触发 failSwitch
                   // 播放器鉴权数据过期回调,出现过期可重新prepare新的地址或进行UI上的错误提醒 timeExpired **该参数仅支持iOS**

                   // 播放过程中鉴权即将过期时提供的回调消息(过期前一分钟回调) addressExpired **注意:鉴权有效期为2小时,在这个回调里面可以提前请求新的鉴权,stop上一次播放,prepare新的地址,seek到当前位置**  **该参数仅支持iOS**



}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.addEventListener(function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setOnErrorListener

setOnErrorListener()

异常监听 (错误码及错误信息请参考阿里云 官方文档

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   code: 0,
   msg: ''
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setOnErrorListener(function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initDownloader

initDownloader

注意:由于SDK限制,下载文件路径暂时仅支持一级目录如:(fs://)

初始化下载器

Params

secretImagePath:

  • 类型:字符串
  • 描述:加密文件路径(android 仅支持fs://)

downloadDir:

  • 类型:字符串
  • 描述:下载文件路径(仅支持fs://)

maxNums:

  • 类型:数字类型
  • 描述:允许同时开启的个数(最多为4个)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
        status:true,              // 布尔类型,初始化成功与否
    prepared:[mediaInfo ...], // JSON数组,可以下载的项
    onStart:mediaInfo,        // JSON对象,当前下载项
        onProgress:{              // JSON对象,当前下载项进度
        progress:50,
                mediaInfo:mediaInfo
    },
        onStop:mediaInfo,        // JSON对象,停止下载项
        onCompletion:mediaInfo,   // JSON对象,结束下载项
        onError:mediaInfo,        // JSON对象,发生错误下载项
        onWait:mediaInfo          // JSON对象,等待的下载项(iOS不支持)
}
// mediaInfo 结构如下:
mediaInfo:{
    vid:"",           // 字符串类型;视频id
    format:"",        // 字符串;视频格式
    coverUrl:"",      // 字符串;遮罩Url
    downloadIndex:0,  // 数字类型;下载索引(iOS不支持)
    downloadFilePath:''//字符串类型;下载地址
    size:1000,         // 数字类型;视频大小
    duration:123230,  // 数字类型;视频长度
    quality:"",       // 字符串类型;视频质量
    title:"",         // 字符串类型;视频标题
    progress:30,      // 数字类型;下载进度
    isEncripted:0     // 数字类型;是否加密(iOS不支持)
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.initDownloader({
 downloadDir:'fs://',
 maxNums:1,
 secretImagePath:'fs://test.png'
},function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

prepareDownload

prepareDownload

注意: 对于iOS而言,authInfo可以是过期的值,然后会回调错误的参数,这时,开始下载的接口必须传最新的authInfo,否则会下载失败

准备下载 playAuth (暂仅支持playAuth)

params

playAuth:

  • 类型:JSON类型
  • 描述:使用playAuth方式
  • 内部字段:
{
   vid:'',        // 字符串类型
   authInfo:''    // 字符串类型
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.prepareDownload({
playAuth:{
   vid:'',       
   authInfo:''  
}
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startDownload

开始下载

注意: 对于iOS而言,authInfo必须传最新的值,否则会下载失败

params

playAuth:

  • 类型:JSON类型
  • 描述:使用playAuth方式
  • 内部字段:
{
   vid:'',        // 字符串类型
   authInfo:''    // 字符串类型
}

quality:

  • 类型:字符串
  • 描述:(必选项)视频质量
  • 取值范围:
    • FD 流畅
    • LD 标清
    • SD 高清
    • HD 超清
    • 2K 2K
    • 4K 4K
    • OD 原画

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.startDownload({
playAuth:{
   vid:'',       
   authInfo:''  
},
quality:'FD',

});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopDownload

停止下载

params

vid:

  • 类型:字符串
  • 描述:视频id

quality:

  • 类型:字符串
  • 描述:(必选项)视频质量
  • 取值范围:
    • FD 流畅
    • LD 标清
    • SD 高清
    • HD 超清
    • 2K 2K
    • 4K 4K
    • OD 原画

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.stopDownload({
   vid:'',       
   quality:'FD',
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeDownload

删除下载

params

vid:

  • 类型:字符串
  • 描述:视频id

quality:

  • 类型:字符串
  • 描述:(必选项)视频质量
  • 取值范围:
    • FD 流畅
    • LD 标清
    • SD 高清
    • HD 超清
    • 2K 2K
    • 4K 4K
    • OD 原画

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.removeDownload({
   vid:'',       
   quality:'FD',
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDownloadList

获取下载列表

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
mediaInfos:[{
    vid:"",           // 字符串类型;视频id
    format:"",        // 字符串;视频格式
    coverUrl:"",      // 字符串;遮罩Url
    downloadIndex:0,  // 数字类型;下载索引(iOS不支持)
    downloadFilePath:''//字符串类型;下载地址(安卓不支持)
    size:1000,        // 数字类型;视频大小
    duration:123230,  // 数字类型;视频长度
    quality:"",       // 字符串类型;视频质量
    title:"",         // 字符串类型;视频标题
    progress:30,      // 数字类型;下载进度
    isEncripted:0     // 数字类型;是否加密(iOS不支持)
}]

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.getDownloadList(function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getUnfinishedDownloadList

获取未下载完成任务列表

ios使用此接口的时候请注意:调用顺序: initDownloader-> prepareDownload-> startDownload-> stopDownload(开始下载后立即调用该接口可使得下载中断),->应用退到后台->再次进入前台->调用getUnfinishedDownloadList-> initDownloader(必须在调用一次才会得到未下载完成的列表)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
mediaInfos:[{
    vid:"",           // 字符串类型;视频id
    format:"",        // 字符串;视频格式
    playAuth:''       //字符串类型;
    videoDefinition:''//字符串类型;视频清晰度
    quality:"",       // 字符串类型;视频质量
    coverUrl:"",      // 字符串;遮罩Url(iOS不支持)
    downloadIndex:0,  // 数字类型;下载索引(iOS不支持)
    size:1000,        // 数字类型;视频大小(iOS不支持)
    duration:123230,  // 数字类型;视频长度(iOS不支持)
    title:"",         // 字符串类型;视频标题(iOS不支持)
    progress:30,      // 数字类型;下载进度(iOS不支持)
    isEncripted:0     // 数字类型;是否加密(iOS不支持)
}]

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.getUnfinishedDownloadList(function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isScreenLock

是否锁屏

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
     isLock: true // 布尔类型;是否锁屏
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.isScreenLock(function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS 、Android系统

可提供的1.0.0及更高版本

openSettingPanel

打开设置面板(音量,亮度面板)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   isOpen: true  //布尔类型;打开成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.openSettingPanel(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeSettingPanel

关闭设置面板(音量,亮度面板)

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   isClose: true  //布尔类型;关闭成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.closeSettingPanel(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unlockScreen

解锁屏幕

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   status: true  //布尔类型;打开成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.unlockScreen(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

lockScreen

锁定屏幕

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   status: true  //布尔类型;关闭成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.lockScreen(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openBarrageSwitch

打开弹幕开关

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   isOpen: true  //布尔类型;打开成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.openBarrageSwitch(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeBarrageSwitch

关闭弹幕开关

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
   isClose: true  //布尔类型;关闭成功
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.closeBarrageSwitch(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setMediaControllerVisible

设置媒体控制器隐藏与否 此处可以隐藏显示进度条

params

visible:

  • 类型:布尔类型
  • 描述:显示与否

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setMediaControllerVisible({
    visible : true
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getMediaControllerVisibility

媒体控制器是否隐藏

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
     visible: true // 布尔类型;是否可见
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.getMediaControllerVisibility(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fullScreen

设置播放器为全屏

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
     status:true // 返回状态
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.fullScreen(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

unfullScreen

退出全屏

callback

ret:

  • 类型:JSON对象
  • 描述:返回值
{
     status:true // 返回状态
}

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.unfullScreen(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setFullscreenBtnVisible

设置全屏按钮的可见性

params

visible:

  • 类型:布尔类型
  • 描述:显示与否

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setFullscreenBtnVisible({
    visible:true
});

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

setBackBtnImage

设置返回按钮图片

params

backImg:

  • 类型:字符串类型
  • 描述:返回按钮图片(支持 widget:// fs://)

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.setBackBtnImage({
    backImg:'widget://image/back.png'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addTouchListener

设置播放器界面的触摸监听

addTouchListener({params},callback(ret))

params

name:

  • 类型:字符串
  • 描述:所要监听的动作名称
  • 取值范围:

  • 'leftUp':播放器靠左的二分之一内的上滑事件,每滑动5(百分比)回调执行一次

  • 'leftDown':播放器靠左的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
  • 'rightUp':播放器靠右的二分之一内的上滑事件,每滑动5(百分比)回调执行一次
  • 'rightDown':播放器靠右的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
  • 'swipeLeft':播放器上的左滑事件,每滑动5(百分比)回调执行一次
  • 'swipeRight':播放器上的右滑事件,每滑动5(百分比)回调执行一次
  • 'click':点击播放器事件(单击手势)
  • 'doubleClick':双击播放器事件(单击手势)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   eventType:             //字符串类型:监听到的事件
                          //leftUp
                          //leftDown
                          //rightUp
                          //rightDown
                          //swipeLeft
                          //click
                          //doubleClick
}

示例代码

    var aliyunVodPlayer = api.require('aliyunVodPlayer');
        aliyunVodPlayer.addTouchListener({
            name: 'doubleClick'
        },function(ret){
            alert(JSON.stringify(ret));
        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeTouchListener

移除播放器触摸监听事件 removeTouchListener({params})

params

name:

  • 类型:字符串
  • 描述:所要移除的监听的动作名称
  • 取值范围:

  • 'leftUp':播放器靠左的二分之一内的上滑事件,每滑动5(百分比)回调执行一次

  • 'leftDown':播放器靠左的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
  • 'rightUp':播放器靠右的二分之一内的上滑事件,每滑动5(百分比)回调执行一次
  • 'rightDown':播放器靠右的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
  • 'swipeLeft':播放器上的左滑事件,每滑动5(百分比)回调执行一次
  • 'swipeRight':播放器上的右滑事件,每滑动5(百分比)回调执行一次
  • 'click':点击播放器事件(单击手势)
  • 'doubleClick':双击播放器事件(单击手势)

示例代码

var aliyunVodPlayer = api.require('aliyunVodPlayer');
aliyunVodPlayer.removeTouchListener({
    name: 'doubleClick'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本