- polyvVideo
- 概述
- 配置子模块
- 视频播放子模块
- setRenderView
- open
- setPath
- setVid
- start
- pause
- stop
- close
- show
- hide
- fullScreen
- cancelFullScreen
- getDuration
- getCurrentPosition
- getBufferPercentage
- isPlaying
- forward
- rewind
- seekTo
- setBrightness
- getBrightness
- setVolume
- getVolume
- addEventListener
- removeEventListener
- setSpeed
- getSpeed
- showMarquee
- hideMarquee
- setViewerId
- setViewerName
- setParam
- changeLevel
- getCurrentLevel
- disableScreenCAP
- setPlayerFrame
- setControlStyle
- 视频下载子模块
- 视频信息子模块
polyvVideo
setConfig openMediaCodec setRenderView open setPath setVid start pause stop close show hide fullScreen cancelFullScreen getDuration getCurrentPosition getBufferPercentage isPlaying forward rewind seekTo setBrightness getBrightness setVolume getVolume addEventListener removeEventListener setSpeed getSpeed showMarquee hideMarquee setViewerId setViewerName setParam setControlStyle setPlayerFrame changeLevel getCurrentLevel disableScreenCAP addDownloader getDownloadList startDownloader startALLDownloader stopDownloader stopAllDownloader downloadedVideoExist deleteVideo deleteAllVideo getDuration getFileSize getLevelNum
概述
保利威简介
保利威(商标名“POLYV”)是一个第三方视频技术服务商,提供视频云计算服务平台,为教育行业等提供视频解决方案,隶属于广州易方信息科技有限公司,实现网络视频跨终端播放,是一家拥有自主知识产权的高新技术企业。
保利威特色功能
- 无广告,不用再为视频播放前、暂停时的广告而烦扰和等待,向视频广告说NO!
- 极速加载,全网络覆盖,包含电信、联通、移动、教育网等运营商,通过智能CDN技术,为用户带来极速播放体验。
- 安全可靠,多副本的分布式存储系统保障数据安全性,三套CDN系统同时保障分发传输系统可靠性。
- 金牌服务,提供7*24小时的技术支持服务,且可由开发者直接面对开发者,以最快速度解决用户问题,打造行业服务标杆。
模块概述
polyvVideo 模块封装了保利威 Android 与 iOS 原生 SDK,集成了保利威常用的基本接口。使用本模块可以轻松把保利威 Android 与 iOS SDK 集成到自己的 app 中,实现保利威视频播放、下载等功能。
注意事项
- 使用本模块需拥有保利威账号,并通过调用配置子模块中的
setConfig
方法配置 SDK 加密串。
设置观众ID意义
- 请设置观众ID,设置了观众ID能有效提高模块这边单方面排查问题的效率。
- 调用设置观众ID方法传入的viewerId会作为一个全局变量保存,多次设置是覆盖值。
- 设置时机示例:APP中一般是在学员登陆后设置观众ID。
配置子模块
polyvConfigModule 封装了对本模块用户配置的功能。 开发者要播放保利威视频,需先到 保利威官网 注册账号,登录账号后,进入云点播 \ 设置 \ API接口 \ SDK加密串获取 SDK 加密串、 加密密钥、加密向量,并将其放到自己的服务器,在 Application 中通过网络获取并且设置给 setConfig 方法(推荐方案)。也可以配置 SDK加密串
到 key.xml 文件中,key 为 config
,key.xml 文件需要放在 res 文件目录下。
key.xml 配置详解:
配置格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<security>
<item name="config" value="CMWht3MlpVkgpFzrLNAebYi4RdQDY/Nhvk3Kc+qWcck6chwHYKfl9o2aOVBvXVTRZD/14XFzVP7U5un43caq1FXwl0cYmTfimjTmNUYa1sZC1pkHE8gEsRpwpweQtEIiTGVEWrYVNo4/o5jI2/efzA=="/>
</security>
字段描述:
- config:保利威账号下的 SDK 加密串
setConfig
配置本模块来自保利威注册账号的用户信息,本方法只需调用一次。
setConfig()
params
config
:
- 类型:字符串
- 描述:(必选项,若不带上这个参数,则从 key.xml 文件中 config 字段获取)保利威账号下的 SDK 加密串(登录账号后,进入 云点播 \ 设置 \ API接口 \ SDK加密串)
aeskey
:
- 类型:字符串
- 描述:(可选项,默认值 VXtlHmwfS2oYm0CZ)保利威账号下的 SDK 加密串的加密密钥,用来解密 SDK 加密串(登录账号后,进入 云点播 \ 设置 \ API接口 \ 加密密钥)
iv
:
- 类型:字符串
- 描述:(可选项,默认值 2u9gDPKdX6GyQJKU)保利威账号下的 SDK 加密串的加密向量,用来解密 SDK 加密串(登录账号后,进入 云点播 \ 设置 \ API接口 \ 加密向量)
callback
ret:
- 类型:JSON对象
- 内部字段:
{
isSuccess: //布尔类型;是否设置成功。
}
err:
- 类型:JSON对象
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var polyvConfig = api.require('polyvConfigModule');
polyvConfig.setConfig({
config:'CMWht3MlpVkgpFzrLNAebYi4RdQDY/Nhvk3Kc+qWcck6chwHYKfl9o2aOVBvXVTRZD/14XFzVP7U5un43caq1FXwl0cYmTfimjTmNUYa1sZC1pkHE8gEsRpwpweQtEIiTGVEWrYVNo4/o5jI2/efzA==',
aeskey:'VXtlHmwfS2oYm0CZ',
iv:'2u9gDPKdX6GyQJKU'
}, function(ret, err) {
alert(ret.isSuccess);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
openMediaCodec
设置播放器为硬解解码播放,默认关闭。(仅对Android有效!)
openMediaCodec({params})
params
mediaCodec
- 类型:布尔类型
- 描述:开启硬解,默认为false。
{
mediaCodec: // 布尔类型
}
示例代码
var polyvConfig = api.require('polyvConfigModule');
polyvConfig.openMediaCodec({
mediaCodec:false
});
可用性
Android系统
可提供的1.2.1及更高版本
视频播放子模块
polyvVideoModule 封装了保利威视频播放功能。
setRenderView
设置播放器渲染视图类型
setRenderView({params})
params
renderViewType
- 类型:整型数字
- 描述:渲染视图类型,1为SurfaceView,2为TextureView(默认)。
{
renderViewType: // 整型数字:渲染视图类型
}
示例代码
var polyvConfig = api.require('polyvConfigModule');
polyvConfig.setRenderView({
renderViewType:2
});
可用性
Android系统
可提供的1.1.0及更高版本
open
打开一个视频播放器,通过回调返回播放状态
open({params},function(ret))
params
rect
:
- 类型:JSON对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
h: 300 //(可选项)数字类型;模块的高度;默认:w的3/4
}
path
:
- 类型:字符串
- 描述:(可选项)文档的路径,要求本地路径(fs://),在 android 平台上不支持 widget,若 vid 不为空,则忽略本参数
vid
:
- 类型:字符串
- 描述:(可选项)视频的vid,播放网络视频时需要,若本参数不为空,则忽略 path 参数
autoPlay
:
- 类型:布尔
- 描述:(可选项)打开时是否自动播放
- 默认值:true(自动播放)
fixedOn
:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed
:
- 类型:布尔
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
seekType
:
- 类型:整型数字
- 描述:(可选项)seek类型,0为根据关键帧seek(默认),1为精准seek
- 可用性:1.2.0及更高版本
disableScreenCAP
:
- 类型:布尔
- 描述:(可选项)模块是否开启防录屏。默认为 false 不开启
- 可用性:1.2.0及更高版本
level
:
- 类型:整型数字
- 描述:(可选项)指定码率。「 0-自动(默认), 1-流畅, 2-高清, 3-超清 」
- 可用性:1.2.0及更高版本
callback
ret:
- 类型:JSON对象
- 描述:本回调函数在播放状态改变时执行
- 内部字段:
{
eventType: //字符串类型;回调事件类型,取值范围如下:
//config_invalid(未配置加密串)
//show (打开播放器成功并显示)
//start(开始播放)
//stop(停止播放)
//pause(暂停播放)
//resetPath(重设媒体资源路径)
//complete(播放完毕)
}
err:
- 类型:JSON对象
- 描述:本回调函数在播放错误时执行
- 内部字段:
{
msg: //字符串类型;错误信息
}
示例代码
var obj = api.require('polyvVideoModule');
obj.open({
rect: {
x: 0,
y: 0,
w: 320,
h: 240
},
path:'fs://res/intro.mp4', // 传递本地路径
// vid:'c538856dde4302916f648ee0d225cbca_c', // 传递 vid
autoPlay: true,
fixedOn: api.frameName,
fixed: false
},function(ret,err){
var eventType = ret.eventType;
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setPath
设置视频的文件路径
setPath({params})
params
path
:
- 类型:字符串
- 描述:文档的路径或 HTTP 协议视频 URL,要求本地路径(fs://),在 android 平台上不支持 widget
示例代码
var obj= api.require('polyvVideoModule');
obj.setPath({
path:'fs://res/video.mp4'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setVid
设置播放视频的 vid
setVid({params})
params
vid
:
- 类型:字符串
- 描述:视频 vid
level
:
- 类型:整型数字
- 描述:(可选项)指定码率。「 0-自动(默认), 1-流畅, 2-高清, 3-超清 」
- 可用性:1.2.0及更高版本
示例代码
var obj= api.require('polyvVideoModule');
obj.setVid({
vid:'c538856dde4302916f648ee0d225cbca_c',
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
start
开始播放
start()
示例代码
var obj= api.require('polyvVideoModule');
obj.start();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pause
暂停播放
pause()
示例代码
var obj= api.require('polyvVideoModule');
obj.pause();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stop
停止播放
stop()
示例代码
var obj= api.require('polyvVideoModule');
obj.stop();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
关闭播放器
close()
示例代码
var obj= api.require('polyvVideoModule');
obj.close();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示视频播放视图
show()
示例代码
var obj= api.require('polyvVideoModule');
obj.show();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏视频播放视图
hide()
示例代码
var obj= api.require('polyvVideoModule');
obj.hide();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fullScreen
全屏播放(横屏模式)
fullScreen()
示例代码
var obj= api.require('polyvVideoModule');
obj.fullScreen();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancelFullScreen
取消全屏播放
cancelFullScreen()
示例代码
var obj= api.require('polyvVideoModule');
obj.cancelFullScreen();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDuration
获得当前视频时长
getDuration(callBack(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
duration: // 数字类型;当前视频时长;秒
}
示例代码
var obj = api.require('polyvVideoModule');
obj.getDuration(function(ret,err){
alert(ret.duration);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCurrentPosition
获取视频当前播放位置(时间)
getCurrentPosition(callBack(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
currentPosition: // 数字类型;视频当前播放进度(时间);秒
}
示例代码
var obj = api.require('polyvVideoModule');
obj.getCurrentPosition(function(ret,err){
alert(ret.currentPosition);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getBufferPercentage
获取视频当前缓存进度
getBufferPercentage(callBack(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
bufferPercentage: // 数字类型,取值:0~100;当前缓存进度
}
示例代码
var obj = api.require('polyvVideoModule');
obj.getBufferPercentage(function(ret,err){
alert(ret.bufferPercentage);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isPlaying
当前视频是否正在播放
isPlaying(callBack(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
isPlaying: // bool 类型;视频是否正在播放
}
示例代码
var obj = api.require('polyvVideoModule');
obj.isPlaying(function(ret,err){
alert(ret.isPlaying);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
forward
快进
forward(params)
params
seconds
:
- 类型:数字
- 描述:快进的秒数
示例代码
var obj= api.require('polyvVideoModule');
obj.forward({
seconds:5
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rewind
快退
rewind(params)
params
seconds
:
- 类型:数字
- 描述:快退的秒数
示例代码
var obj= api.require('polyvVideoModule');
obj.rewind({
seconds:5
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
seekTo
跳转
seekTo(params)
params
seconds
:
- 类型:数字
- 描述:跳转到音视频播放的秒数
示例代码
var obj= api.require('polyvVideoModule');
obj.seekTo({
seconds:20
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setBrightness
设置屏幕亮度
setBrightness(params)
params
brightness
:
- 类型:数字
- 描述:(可选项)设置的屏幕的亮度,取值范围:0-100,在 IOS 平台上设置的是系统屏幕亮度。Android 平台上设置的本应用内的屏幕亮度
- 默认值:80
示例代码
var obj = api.require('polyvVideoModule');
obj.setBrightness({
brightness:50
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getBrightness
获取当前屏幕亮度值
getBrightness(callBack(ret))
callback(ret)
ret
:
- 类型:JSON对象
- 内部字段:
{
brightness: //数字类型;当前屏幕亮度值
}
示例代码
var obj = api.require('polyvVideoModule');
obj.getBrightness(function(ret,err){
alert(ret.brightness);
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setVolume
设置音量
setVolume({params})
params
volume
:
- 类型:数字
- 描述:(可选项)音量大小,取值范围:0-1
- 默认值:0
示例代码
var obj = api.require('polyvVideoModule');
obj.setVolume({
volume:0.6
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getVolume
获取当前音量
getVolume(callBack(ret,err))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
volume: //数字类型;当前音量值
}
示例代码
var obj = api.require('polyvVideoModule');
obj.getVolume(function(ret){
alert(ret.volume)
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addEventListener
添加手势监听(当全屏或者 fixed 为 true 且页面不能被左右滑动时有效)
addEventListener({params},callBack(ret,err))
params
name
:
- 类型:字符串
- 描述:所要监听的手势名称
- 取值范围:
leftUp
:播放器靠左的二分之一内的上滑事件,每滑动5(百分比)回调执行一次leftDown
:播放器靠左的二分之一内的下滑事件,每滑动5(百分比)回调执行一次rightUp
:播放器靠右的二分之一内的上滑事件,每滑动5(百分比)回调执行一次rightDown
:播放器靠右的二分之一内的下滑事件,每滑动5(百分比)回调执行一次swipeLeft
:播放器上的左滑事件,每滑动5(百分比)回调执行一次swipeRight
:播放器上的右滑事件,每滑动5(百分比)回调执行一次click
:点击播放器事件(单击手势)
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
start: //布尔类型;事件是否开始,true|false
end: //布尔类型;事件是否结束,true|false
//手指处于滑动屏幕状态时,start、end 均为false
}
示例代码
var obj = api.require('polyvVideoModule');
obj.addEventListener({
name:'leftUp'
},function(ret){
alert('leftUp');
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeEventListener
移除手势监听
removeEventListener({params})
params
name
:
- 类型:字符串
- 描述:所要移除的监听的手势名称
- 取值范围:
leftUp
:播放器靠左的二分之一内的上滑事件,每滑动5(百分比)回调执行一次leftDown
:播放器靠左的二分之一内的下滑事件,每滑动5(百分比)回调执行一次rightUp
:播放器靠右的二分之一内的上滑事件,每滑动5(百分比)回调执行一次rightDown
:播放器靠右的二分之一内的下滑事件,每滑动5(百分比)回调执行一次swipeLeft
:播放器上的左滑事件,每滑动5(百分比)回调执行一次swipeRight
:播放器上的右滑事件,每滑动5(百分比)回调执行一次click
:点击播放器事件(单击手势)
示例代码
var obj = api.require('polyvVideoModule');
obj.removeEventListener({
name:'leftUp'
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSpeed
设置播放速度
setSpeed({params})
params
speed
:
- 类型:数字类型
- 描述:播放速度,建议取值范围是0.5 - 2.0
- 默认值:1.0
示例代码
var obj = api.require('polyvVideoModule');
obj.setSpeed({
speed:2.0
});
可用性
iOS系统,Android系统
可提供的1.0.7及更高版本
getSpeed
获取当前播放速度
getSpeed(callBack(ret))
callback(ret)
ret
:
- 类型:JSON对象
- 内部字段:
{
speed: //数字类型;当前播放速度
}
示例代码
var obj = api.require('polyvVideoModule');
obj.speed(function(ret,err){
alert(ret.speed);
});
可用性
iOS系统,Android系统
可提供的1.0.7及更高版本
showMarquee
显示跑马灯
showMarquee({params})
params
marquee
:
- 类型:字符串
- 描述:跑马灯内容
- iOS系统默认值:POLYV iOS APICloud Module
- Android系统默认值:POLYV Android APICloud Module
duration
:
- 类型:数字类型
- 描述:一次动画显示的时长,秒
- 默认值:5
interval
:
- 类型:数字类型
- 描述:连续播放动画间隔的时长,秒
- 默认值:1
color
:
- 类型:字符串
- 描述:跑马灯字符串颜色RGB值
- 默认值:0xFFE900
font
:
- 类型:数字类型
- 描述:跑马灯字符串字体大小
- 默认值:16
alpha
:
- 类型:数字类型
- 描述:跑马灯字符串透明度
- 默认值:1
示例代码
var obj = api.require('polyvVideoModule');
obj.showMarquee({
marquee:'polyv',
duration:10
});
可用性
iOS系统,Android系统
可提供的1.0.7及更高版本
hideMarquee
隐藏跑马灯
hideMarquee()
示例代码
var obj= api.require('polyvVideoModule');
obj.hideMarquee();
可用性
Android系统,可提供的1.0.7及更高版本
iOS系统,1.0.7版本开始支持,1.2.0版本废除这个方法
setViewerId
设置观众ID,对应观看日志中的自定义ID。
setViewerId()
示例代码
var obj= api.require('polyvVideoModule');
obj.setViewerId({
viewerId:'polyv'
});
可用性
iOS系统,Android系统
可提供的1.0.8及更高版本
setViewerName
设置观众昵称,对应观看日志中的观众昵称。
setViewerName()
示例代码
var obj= api.require('polyvVideoModule');
obj.setViewerName({
viewerName:'polyv'
});
可用性
iOS系统,Android系统
可提供的1.0.8及更高版本
setParam
设置观众昵称,对应观看日志中的观众昵称。 其中,param2 和 setViewerName 是相同的数据项,只设置其中一个即可。
setParam()
示例代码
var obj= api.require('polyvVideoModule');
obj.setParam({
param1:"p1",
param2:"p2",
param3:"p3",
param4:"p4",
param5:"p5",
});
可用性
iOS系统,Android系统
可提供的1.0.8及更高版本
changeLevel
切换视频码率
changeLevel({params})
params
level
:
- 类型:整型数字
- 描述:(可选项)指定码率。「 0-自动(默认), 1-流畅, 2-高清, 3-超清 」
- 可用性:1.2.0及更高版本
示例代码
var obj= api.require('polyvVideoModule');
obj.changeLevel({
level:1,
});
可用性
iOS系统,Android系统
可提供的1.2.0及更高版本
getCurrentLevel
获取当前播放视频码率
getCurrentLevel(function(ret))
callback(ret)
ret:
- 类型:数字
- 描述:当前播放视频码率
{
currentLevel: // 1-流畅, 2-高清, 3-超清
}
示例代码
var obj= api.require('polyvVideoModule');
obj.getCurrentLevel(function(ret, err){
alert(ret.currentLevel)
});
可用性
iOS系统,Android系统
可提供的1.2.0及更高版本
disableScreenCAP
设置播放器防录屏开关(仅对Android有效!)
disableScreenCAP({params})
params
disableScreenCAP
:
- 类型:布尔类型
- 描述:控制防录屏开关。默认关闭。
示例代码
var obj= api.require('polyvVideoModule');
obj.disableScreenCAP({
disableScreenCAP:false
});
可用性
Android系统
可提供的1.2.1及更高版本
setPlayerFrame
设置播放器位置与尺寸(仅对iOS有效!)
setPlayerFrame({params})
params
x
:
- 类型:数字类型
- 描述:播放器横坐标值
y
:
- 类型:数字类型
- 描述:播放器纵坐标值
w
:
- 类型:数字类型
- 描述:播放器宽度
h
:
- 类型:数字类型
- 描述:播放器高度
示例代码
var obj= api.require('polyvVideoModule');
obj.setPlayerFrame({
x: 0,
y: 20,
w: 320,
h: 320
});
可用性
iOS系统
可提供的1.0.0及更高版本
setControlStyle
设置播放控制组件样式(已废除!)
setControlStyle({params})
params
controlStyle
:
- 类型:字符串
- 描述:播放控制组件样式
- 取值范围:
none
:无播放控制组件embedded
:默认播放控制组件fullscreen
:全屏样式播放控制组件
示例代码
var obj= api.require('polyvVideoModule');
obj.setControlStyle({
controlStyle:'none'
});
可用性
iOS系统,1.0.0版本开始支持,1.2.0版本废除这个方法
视频下载子模块
polyvVideoDownloadModule 封装了保利威视频下载功能,支持断点下载。
addDownloader
通过 vid 和 指定码率(level) 创建一个视频下载器,并添加到下载列表
addDownloader({params},function(ret))
params
downloadArr
- 类型:字典数组
- 描述:包含多个需要下载的“vid + level”视频;每个 vid 只能下载一个码率,要想下载新的码率的视频,需删除该 vid 已下载的视频,才能添加下载
- 内部字段:
[
{
vid: // 字符串类型;视频 vid
level: // 数字类型;视频码率(1 为流畅,2 为高清,3 为超清;如果设置的码率不存在,就会下载默认最高清的码率)
},
{
vid: // 视频 vid
level: // 视频码率
},
...
]
callback
ret:
- 类型:JSON对象
- 描述:下载器状态列表。本回调函数在下载器开始下载后,下载状态发生变化时执行
- 内部字段:
{
vid0: {
downloadStatus: // 字符串类型;回调事件类型,取值范围如下:
// ready(下载器准备就绪)
// stopped (下载被停止)
// finished(下载完成)
// failed(下载失败)
// downloading(下载中)
downloadPercentage: // 数字类型,取值:0~100;当前下载进度
}, // 以 vid(字符串) 为键,下载器状态(字典)为值
vid1: {...},
...
}
err:
- 类型:JSON对象
- 描述:本回调函数在下载失败时执行
- 内部字段:
{
vid0: "msg0", // 以 vid(字符串) 为键,错误信息(字符串)为值
vid1: "msg1",
...
}
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.addDownloader({
downloadArr: [{
vid:'sl8da4jjbx1c8baed8a48212d735d905_s',
level:1
}]}
,function(ret,err){
for (var vid in ret){
var statusDict = ret[vid];
var downloadStatus = statusDict.downloadStatus;
alert(vid + "\n" + downloadStatus);
}
for (var vid in err){
alert(vid + "\n" + err[vid]);
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getDownloadList
返回下载列表,包含下载成功及下载中的视频。
getDownloadList(function(ret))
callback
ret:
- 类型:JSON对象
- 描述:下载器列表,包含成功添加到下载列表的视频的 vid 和 码率。
- 内部字段:
{
downloadList: [
{
vid: // 视频 vid
level: // 视频码率
},
{
vid: // 视频 vid
level: // 视频码率
},
...
]
}
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.getDownloadList(function(ret, err){
var downloadList = ret.downloadList;
for (var i in downloadList){
var dict = downloadList[i];
var vid = dict.vid;
var level = dict.level;
alert(vid + " - " + level);
}
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startDownloader
启动下载器列表中指定下载器的下载
startDownloader({params})
params
vid
:
- 类型:字符串
- 描述:视频vid
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.startDownloader({
vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
startALLDownloader
启动下载器列表中所有下载器的下载
startALLDownloader()
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.startALLDownloader();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopDownloader
停止下载器列表中指定下载器的下载
stopDownloader({params})
params
vid
:
- 类型:字符串
- 描述:视频vid
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.stopDownloader({
vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
stopAllDownloader
停止下载器列表的所有下载器的下载
stopAllDownloader()
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.stopAllDownloader();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
downloadedVideoExist
判断指定码率的视频是否存在(已下载)
downloadedVideoExist({params},function(ret))
params
vid
:
- 类型:字符串
- 描述:视频的 vid
level
:
- 类型:整型数字
- 描述:视频码率
callback
ret:
- 类型:JSON对象
- 描述:指定vid已下载视频是否存在本地布尔值
- 内部字段:
{
vid: // 字符串类型;视频vid
exist: // 布尔类型;文件存在为true,否则false
}
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.downloadedVideoExist({
vid:'sl8da4jjbx1c8baed8a48212d735d905_s',
level:1
}, function(ret, err){
var vid = ret.vid;
var exist = ret.exist;
alert(vid + " ?\n" + exist);
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
deleteVideo
删除指定下载视频(包含下载中视频)
deleteVideo({params})
params
vid
:
- 类型:字符串
- 描述:视频的vid
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.deleteVideo({
vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
});
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
deleteAllVideo
删除所有下载视频(包含下载中视频)
deleteAllVideo()
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.deleteAllVideo();
可用性
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
setDownloadingCallbackIntervalTime
设置下载中(downloadStatus=downloading)回调间隔时间(秒)
setDownloadingCallbackIntervalTime({params})
params
seconds
:
- 类型:数字
- 描述:间隔时间
- 取值范围:0和正整数(iOS 支持正实数)
- 默认值:0 (无间隔时间)
示例代码
var obj= api.require('polyvVideoDownloadModule');
obj.setDownloadingCallbackIntervalTime({
seconds:1
});
可用性
iOS 系统,Android 系统
可提供的1.0.0及更高版本
视频信息子模块
polyvVideoInfoModule 封装了获取保利威视频信息功能。
getDuration
通过 vid 获取发布状态视频的时长。
getDuration({params},function(ret))
params
vid
- 类型:字符串
- 描述:视频的 vid
{
vid: // 字符串类型;视频 vid
}
callback(ret)
ret:
- 类型:数字
- 描述:视频播放时长
- 单位:秒
{
duration: // 数字类型;视频播放时长
}
示例代码
var obj = api.require('polyvVideoInfoModule');
obj.getDuration({
vid: 'sl8da4jjbx1c8baed8a48212d735d905_s'
}, function(ret, err) {
alert("视频时长:\n" + ret.duration + "秒");
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getFileSize
通过 vid 和指定码率(level)获取发布状态视频的文件大小。
getFileSize({params},function(ret))
params
vid
- 类型:字符串
- 描述:视频的 vid
level
:
- 类型:整型数字
- 描述:视频码率
{
vid: // 字符串类型;视频 vid
level: // 数字类型:码率
}
callback(ret)
ret:
- 类型:数字
- 描述:视频文件大小
- 单位:字节
{
fileSize: // 数字类型;视频文件大小(字节)
}
示例代码
var obj = api.require('polyvVideoInfoModule');
obj.getFileSize({
vid: 'sl8da4jjbx1c8baed8a48212d735d905_s',
level: 1
}, function(ret, err) {
alert("文件大小:\n" + ret.fileSize + "字节");
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getLevelNum
获取视频支持码率,「1-流畅, 2-高清, 3-超清」。如返回 3,表示支持流畅、高清和超清。
getFileSize({params},function(ret))
params
vid
- 类型:字符串
- 描述:视频的 vid
{
vid: // 字符串类型;视频 vid
}
callback(ret)
ret:
- 类型:数字
- 描述:视频支持码率数
{
levelNum: // 数字类型;视频支持码率数
}
示例代码
var obj = api.require('polyvVideoInfoModule');
obj.getLevelNum({
vid: 'sl8da4jjbx1c8baed8a48212d735d905_s'
}, function(ret, err) {
alert(ret.levelNum);
});
可用性
iOS系统,Android系统
可提供的1.2.0及更高版本