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