polyvVideo

概述

保利威(商标名“POLYV”)是一个第三方视频技术服务商,提供视频云计算服务平台,为教育行业等提供视频解决方案,隶属于广州易方信息科技有限公司,实现网络视频跨终端播放,是一家拥有自主知识产权的高新技术企业。

保利威特色功能

  • 无广告,不用再为视频播放前、暂停时的广告而烦扰和等待,向视频广告说NO!
  • 极速加载,全网络覆盖,包含电信、联通、移动、教育网等运营商,通过智能CDN技术,为用户带来极速播放体验。
  • 安全可靠,多副本的分布式存储系统保障数据安全性,三套CDN系统同时保障分发传输系统可靠性。
  • 金牌服务,提供7*24小时的技术支持服务,且可由开发者直接面对开发者,以最快速度解决用户问题,打造行业服务标杆。

模块概述

polyvVideo 模块封装了保利威 Android 与 iOS 原生 SDK,集成了保利威常用的基本接口。使用本模块可以轻松把保利威 Android 与 iOS SDK 集成到自己的 app 中,实现保利威视频播放、下载等功能。

  • 使用本模块需拥有,并通过调用配置子模块中的 方法配置 SDK 加密串。

设置观众ID意义

  • 设置观众ID,设置了观众ID能有效提高模块这边单方面排查问题的效率。
  • 调用方法传入的viewerId会作为一个全局变量保存,多次设置是覆盖值。
  • 设置时机示例:APP中一般是在学员登陆后设置观众ID

配置子模块

polyvConfigModule 封装了对本模块用户配置的功能。 开发者要播放保利威视频,需先到 注册账号,登录账号后,进入云点播 \ 设置 \ API接口 \ SDK加密串获取 SDK 加密串、 加密密钥、加密向量,并将其放到自己的服务器,在 Application 中通过网络获取并且设置给 setConfig 方法(推荐方案)。也可以配置 SDK加密串到 key.xml 文件中,key 为 config,key.xml 文件需要放在 res 文件目录下。

key.xml 配置详解:

配置格式如下:

  • 字段描述:

    • 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对象
  • 内部字段:
  1. {
  2. isSuccess: //布尔类型;是否设置成功。
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: //字符串类型;错误信息
  3. }

示例代码

  1. var polyvConfig = api.require('polyvConfigModule');
  2. polyvConfig.setConfig({
  3. config:'CMWht3MlpVkgpFzrLNAebYi4RdQDY/Nhvk3Kc+qWcck6chwHYKfl9o2aOVBvXVTRZD/14XFzVP7U5un43caq1FXwl0cYmTfimjTmNUYa1sZC1pkHE8gEsRpwpweQtEIiTGVEWrYVNo4/o5jI2/efzA==',
  4. aeskey:'VXtlHmwfS2oYm0CZ',
  5. }, function(ret, err) {
  6. alert(ret.isSuccess);
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openMediaCodec

设置播放器为硬解解码播放,默认关闭。(仅对Android有效!)

openMediaCodec({params})

params

mediaCodec

  • 类型:布尔类型
  • 描述:开启硬解,默认为false。
  1. {
  2. mediaCodec: // 布尔类型
  3. }

示例代码

  1. var polyvConfig = api.require('polyvConfigModule');
  2. polyvConfig.openMediaCodec({
  3. mediaCodec:false
  4. });

可用性

Android系统

可提供的1.2.1及更高版本

视频播放子模块

polyvVideoModule 封装了保利威视频播放功能。

setRenderView

设置播放器渲染视图类型

setRenderView({params})

params

renderViewType

  • 类型:整型数字
  • 描述:渲染视图类型,1为SurfaceView,2为TextureView(默认)。
  1. {
  2. renderViewType: // 整型数字:渲染视图类型
  3. }

示例代码

  1. var polyvConfig = api.require('polyvConfigModule');
  2. polyvConfig.setRenderView({
  3. renderViewType:2
  4. });

可用性

Android系统

可提供的1.1.0及更高版本

open

打开一个视频播放器,通过回调返回播放状态

open({params},function(ret))

params

rect

  • 类型:JSON对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
  4. w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
  5. h: 300 //(可选项)数字类型;模块的高度;默认:w的3/4
  6. }

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对象
  • 描述:本回调函数在播放状态改变时执行
  • 内部字段:
  1. {
  2. eventType: //字符串类型;回调事件类型,取值范围如下:
  3. //config_invalid(未配置加密串)
  4. //show (打开播放器成功并显示)
  5. //start(开始播放)
  6. //stop(停止播放)
  7. //pause(暂停播放)
  8. //resetPath(重设媒体资源路径)
  9. //complete(播放完毕)
  10. }

err:

  • 类型:JSON对象
  • 描述:本回调函数在播放错误时执行
  • 内部字段:
  1. {
  2. msg: //字符串类型;错误信息
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.open({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: 320,
  7. h: 240
  8. },
  9. path:'fs://res/intro.mp4', // 传递本地路径
  10. // vid:'c538856dde4302916f648ee0d225cbca_c', // 传递 vid
  11. autoPlay: true,
  12. fixedOn: api.frameName,
  13. fixed: false
  14. },function(ret,err){
  15. var eventType = ret.eventType;
  16. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setPath

设置视频的文件路径

setPath({params})

params

path

  • 类型:字符串
  • 描述:文档的路径或 HTTP 协议视频 URL,要求本地路径(fs://),在 android 平台上不支持 widget

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setPath({
  3. path:'fs://res/video.mp4'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVid

设置播放视频的 vid

setVid({params})

params

vid

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

level:

  • 类型:整型数字
  • 描述:(可选项)指定码率。「 0-自动(默认), 1-流畅, 2-高清, 3-超清 」
  • 可用性:1.2.0及更高版本

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setVid({
  3. vid:'c538856dde4302916f648ee0d225cbca_c',
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

start

开始播放

start()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.start();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.pause();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.stop();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭播放器

close()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示视频播放视图

show()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.show();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏视频播放视图

hide()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.hide();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fullScreen

全屏播放(横屏模式)

fullScreen()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.fullScreen();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelFullScreen

取消全屏播放

cancelFullScreen()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.cancelFullScreen();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDuration

获得当前视频时长

getDuration(callBack(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. duration: // 数字类型;当前视频时长;秒
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.getDuration(function(ret,err){
  3. alert(ret.duration);
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

获取视频当前播放位置(时间)

getCurrentPosition(callBack(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. currentPosition: // 数字类型;视频当前播放进度(时间);秒
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.getCurrentPosition(function(ret,err){
  3. alert(ret.currentPosition);
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getBufferPercentage

getBufferPercentage(callBack(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.getBufferPercentage(function(ret,err){
  3. alert(ret.bufferPercentage);
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isPlaying

当前视频是否正在播放

isPlaying(callBack(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. isPlaying: // bool 类型;视频是否正在播放
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.isPlaying(function(ret,err){
  3. alert(ret.isPlaying);
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

forward

快进

forward(params)

seconds

  • 类型:数字
  • 描述:快进的秒数

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.forward({
  3. seconds:5
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

rewind

快退

rewind(params)

params

seconds

  • 类型:数字
  • 描述:快退的秒数

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.rewind({
  3. seconds:5
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

seekTo

跳转

seekTo(params)

params

  • 类型:数字
  • 描述:跳转到音视频播放的秒数

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.seekTo({
  3. seconds:20
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBrightness

设置屏幕亮度

setBrightness(params)

params

brightness

  • 类型:数字
  • 描述:(可选项)设置的屏幕的亮度,取值范围:0-100,在 IOS 平台上设置的是系统屏幕亮度。Android 平台上设置的本应用内的屏幕亮度
  • 默认值:80

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.setBrightness({
  3. brightness:50
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getBrightness

获取当前屏幕亮度值

getBrightness(callBack(ret))

callback(ret)

ret

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. brightness: //数字类型;当前屏幕亮度值
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.getBrightness(function(ret,err){
  3. alert(ret.brightness);
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

设置音量

setVolume({params})

params

volume

  • 类型:数字
  • 描述:(可选项)音量大小,取值范围:0-1
  • 默认值:0

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.setVolume({
  3. volume:0.6
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getVolume

获取当前音量

getVolume(callBack(ret,err))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. volume: //数字类型;当前音量值
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.getVolume(function(ret){
  3. alert(ret.volume)
  4. });

可用性

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对象
  • 内部字段:
  1. {
  2. start: //布尔类型;事件是否开始,true|false
  3. end: //布尔类型;事件是否结束,true|false
  4. //手指处于滑动屏幕状态时,start、end 均为false
  5. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.addEventListener({
  3. name:'leftUp'
  4. },function(ret){
  5. alert('leftUp');
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

移除手势监听

removeEventListener({params})

params

name

  • 类型:字符串
  • 描述:所要移除的监听的手势名称
  • 取值范围:
    • leftUp:播放器靠左的二分之一内的上滑事件,每滑动5(百分比)回调执行一次
    • leftDown:播放器靠左的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
    • rightUp:播放器靠右的二分之一内的上滑事件,每滑动5(百分比)回调执行一次
    • rightDown:播放器靠右的二分之一内的下滑事件,每滑动5(百分比)回调执行一次
    • swipeLeft:播放器上的左滑事件,每滑动5(百分比)回调执行一次
    • swipeRight:播放器上的右滑事件,每滑动5(百分比)回调执行一次
    • click:点击播放器事件(单击手势)

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.removeEventListener({
  3. name:'leftUp'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSpeed

设置播放速度

setSpeed({params})

params

speed

  • 类型:数字类型
  • 描述:播放速度,建议取值范围是0.5 - 2.0
  • 默认值:1.0

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.setSpeed({
  3. speed:2.0
  4. });

可用性

iOS系统,Android系统

可提供的1.0.7及更高版本

getSpeed

获取当前播放速度

getSpeed(callBack(ret))

callback(ret)

ret

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. speed: //数字类型;当前播放速度
  3. }

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.speed(function(ret,err){
  3. alert(ret.speed);
  4. });

可用性

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

示例代码

  1. var obj = api.require('polyvVideoModule');
  2. obj.showMarquee({
  3. marquee'polyv',
  4. duration:10
  5. });

可用性

iOS系统,Android系统

可提供的1.0.7及更高版本

hideMarquee

隐藏跑马灯

hideMarquee()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.hideMarquee();

可用性

Android系统,可提供的1.0.7及更高版本

iOS系统,1.0.7版本开始支持,1.2.0版本废除这个方法

setViewerId

设置观众ID,对应观看日志中的自定义ID。

setViewerId()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setViewerId({
  3. viewerId'polyv'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

setViewerName

设置观众昵称,对应观看日志中的观众昵称。

setViewerName()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setViewerName({
  3. viewerName'polyv'
  4. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

设置观众昵称,对应观看日志中的观众昵称。 其中,param2 和 setViewerName 是相同的数据项,只设置其中一个即可。

setParam()

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setParam({
  3. param1:"p1",
  4. param2:"p2",
  5. param3:"p3",
  6. param4:"p4",
  7. param5:"p5",
  8. });

可用性

iOS系统,Android系统

可提供的1.0.8及更高版本

changeLevel

切换视频码率

params

level:

  • 类型:整型数字
  • 描述:(可选项)指定码率。「 0-自动(默认), 1-流畅, 2-高清, 3-超清 」
  • 可用性:1.2.0及更高版本

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.changeLevel({
  3. level:1,
  4. });

可用性

iOS系统,Android系统

可提供的1.2.0及更高版本

getCurrentLevel

获取当前播放视频码率

getCurrentLevel(function(ret))

callback(ret)

ret:

  • 类型:数字
  • 描述:当前播放视频码率
  1. {
  2. currentLevel: // 1-流畅, 2-高清, 3-超清
  3. }

示例代码

iOS系统,Android系统

可提供的1.2.0及更高版本

disableScreenCAP

设置播放器防录屏开关(仅对Android有效!)

disableScreenCAP({params})

params

disableScreenCAP

  • 类型:布尔类型
  • 描述:控制防录屏开关。默认关闭。

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.disableScreenCAP({
  3. disableScreenCAP:false
  4. });

可用性

Android系统

可提供的1.2.1及更高版本

setPlayerFrame

设置播放器位置与尺寸(仅对iOS有效!)

setPlayerFrame({params})

params

x

  • 类型:数字类型
  • 描述:播放器横坐标值

y

  • 类型:数字类型
  • 描述:播放器纵坐标值

w

  • 类型:数字类型
  • 描述:播放器宽度

h

  • 类型:数字类型
  • 描述:播放器高度

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setPlayerFrame({
  3. x: 0,
  4. y: 20,
  5. w: 320,
  6. h: 320
  7. });

可用性

iOS系统

可提供的1.0.0及更高版本

setControlStyle

设置播放控制组件样式(已废除!)

setControlStyle({params})

params

controlStyle

  • 类型:字符串
  • 描述:播放控制组件样式
  • 取值范围:
    • none:无播放控制组件
    • embedded:默认播放控制组件
    • fullscreen:全屏样式播放控制组件

示例代码

  1. var obj= api.require('polyvVideoModule');
  2. obj.setControlStyle({
  3. controlStyle:'none'
  4. });

可用性

iOS系统,1.0.0版本开始支持,1.2.0版本废除这个方法

视频下载子模块

polyvVideoDownloadModule 封装了保利威视频下载功能,支持断点下载。

addDownloader

通过 vid 和 指定码率(level) 创建一个视频下载器,并添加到下载列表

addDownloader({params},function(ret))

params

downloadArr

  • 类型:字典数组
  • 描述:包含多个需要下载的“vid + level”视频;每个 vid 只能下载一个码率,要想下载新的码率的视频,需删除该 vid 已下载的视频,才能添加下载
  • 内部字段:
  1. [
  2. {
  3. vid: // 字符串类型;视频 vid
  4. level: // 数字类型;视频码率(1 为流畅,2 为高清,3 为超清;如果设置的码率不存在,就会下载默认最高清的码率)
  5. },
  6. {
  7. level: // 视频码率
  8. },
  9. ...
  10. ]

callback

ret:

  • 类型:JSON对象
  • 描述:下载器状态列表。本回调函数在下载器开始下载后,下载状态发生变化时执行
  • 内部字段:
  1. {
  2. vid0: {
  3. downloadStatus: // 字符串类型;回调事件类型,取值范围如下:
  4. // ready(下载器准备就绪)
  5. // stopped (下载被停止)
  6. // finished(下载完成)
  7. // failed(下载失败)
  8. // downloading(下载中)
  9. downloadPercentage: // 数字类型,取值:0~100;当前下载进度
  10. }, // 以 vid(字符串) 为键,下载器状态(字典)为值
  11. vid1: {...},
  12. ...
  13. }

err:

  • 类型:JSON对象
  • 描述:本回调函数在下载失败时执行
  • 内部字段:
  1. {
  2. vid0: "msg0", // 以 vid(字符串) 为键,错误信息(字符串)为值
  3. vid1: "msg1",
  4. ...
  5. }

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.addDownloader({
  3. downloadArr: [{
  4. vid:'sl8da4jjbx1c8baed8a48212d735d905_s',
  5. level:1
  6. }]}
  7. ,function(ret,err){
  8. for (var vid in ret){
  9. var statusDict = ret[vid];
  10. var downloadStatus = statusDict.downloadStatus;
  11. alert(vid + "\n" + downloadStatus);
  12. }
  13. for (var vid in err){
  14. alert(vid + "\n" + err[vid]);
  15. }
  16. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

getDownloadList

返回下载列表,包含下载成功及下载中的视频。

getDownloadList(function(ret))

callback

ret:

  • 类型:JSON对象
  • 描述:下载器列表,包含成功添加到下载列表的视频的 vid 和 码率。
  • 内部字段:
  1. {
  2. downloadList: [
  3. {
  4. vid: // 视频 vid
  5. level: // 视频码率
  6. },
  7. {
  8. vid: // 视频 vid
  9. level: // 视频码率
  10. },
  11. ...
  12. ]
  13. }

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.getDownloadList(function(ret, err){
  3. var downloadList = ret.downloadList;
  4. for (var i in downloadList){
  5. var dict = downloadList[i];
  6. var vid = dict.vid;
  7. var level = dict.level;
  8. alert(vid + " - " + level);
  9. }
  10. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

startDownloader

启动下载器列表中指定下载器的下载

startDownloader({params})

params

vid

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

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.startDownloader({
  3. vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
  4. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

startALLDownloader

启动下载器列表中所有下载器的下载

startALLDownloader()

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.startALLDownloader();

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

stopDownloader

停止下载器列表中指定下载器的下载

stopDownloader({params})

params

vid

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

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.stopDownloader({
  3. vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
  4. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

stopAllDownloader

停止下载器列表的所有下载器的下载

stopAllDownloader()

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.stopAllDownloader();

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

downloadedVideoExist

判断指定码率的视频是否存在(已下载)

downloadedVideoExist({params},function(ret))

params

vid

  • 类型:字符串
  • 描述:视频的 vid

level

  • 类型:整型数字
  • 描述:视频码率

callback

ret:

  • 类型:JSON对象
  • 描述:指定vid已下载视频是否存在本地布尔值
  • 内部字段:
  1. {
  2. vid: // 字符串类型;视频vid
  3. exist: // 布尔类型;文件存在为true,否则false
  4. }

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.downloadedVideoExist({
  3. vid:'sl8da4jjbx1c8baed8a48212d735d905_s',
  4. level:1
  5. }, function(ret, err){
  6. var vid = ret.vid;
  7. var exist = ret.exist;
  8. alert(vid + " ?\n" + exist);
  9. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

deleteVideo

删除指定下载视频(包含下载中视频)

deleteVideo({params})

params

vid

  • 类型:字符串
  • 描述:视频的vid

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.deleteVideo({
  3. vid:'sl8da4jjbx1c8baed8a48212d735d905_s'
  4. });

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

deleteAllVideo

删除所有下载视频(包含下载中视频)

deleteAllVideo()

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.deleteAllVideo();

可用性

iOS 系统,Android 系统

可提供的 1.0.0 及更高版本

setDownloadingCallbackIntervalTime

设置下载中(downloadStatus=downloading)回调间隔时间(秒)

setDownloadingCallbackIntervalTime({params})

params

seconds

  • 类型:数字
  • 描述:间隔时间
  • 取值范围:0和正整数(iOS 支持正实数)
  • 默认值:0 (无间隔时间)

示例代码

  1. var obj= api.require('polyvVideoDownloadModule');
  2. obj.setDownloadingCallbackIntervalTime({
  3. seconds:1
  4. });

可用性

iOS 系统,Android 系统

可提供的1.0.0及更高版本

视频信息子模块

polyvVideoInfoModule 封装了获取保利威视频信息功能。

getDuration

通过 vid 获取发布状态视频的时长。

getDuration({params},function(ret))

params

vid

  • 类型:字符串
  • 描述:视频的 vid
  1. {
  2. vid: // 字符串类型;视频 vid
  3. }

callback(ret)

ret:

  • 类型:数字
  • 描述:视频播放时长
  • 单位:秒
  1. {
  2. duration: // 数字类型;视频播放时长
  3. }

示例代码

  1. var obj = api.require('polyvVideoInfoModule');
  2. obj.getDuration({
  3. vid: 'sl8da4jjbx1c8baed8a48212d735d905_s'
  4. }, function(ret, err) {
  5. alert("视频时长:\n" + ret.duration + "秒");
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getFileSize

通过 vid 和指定码率(level)获取发布状态视频的文件大小。

getFileSize({params},function(ret))

params

vid

  • 类型:字符串
  • 描述:视频的 vid

level

  • 类型:整型数字
  • 描述:视频码率
  1. {
  2. vid: // 字符串类型;视频 vid
  3. level: // 数字类型:码率
  4. }

callback(ret)

ret:

  • 类型:数字
  • 描述:视频文件大小
  • 单位:字节
  1. {
  2. fileSize: // 数字类型;视频文件大小(字节)
  3. }

示例代码

  1. var obj = api.require('polyvVideoInfoModule');
  2. obj.getFileSize({
  3. vid: 'sl8da4jjbx1c8baed8a48212d735d905_s',
  4. level: 1
  5. }, function(ret, err) {
  6. alert("文件大小:\n" + ret.fileSize + "字节");
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

获取视频支持码率,「1-流畅, 2-高清, 3-超清」。如返回 3,表示支持流畅、高清和超清。

getFileSize({params},function(ret))

params

vid

  • 类型:字符串
  • 描述:视频的 vid
  1. {
  2. vid: // 字符串类型;视频 vid
  3. }

callback(ret)

ret:

  • 类型:数字
  • 描述:视频支持码率数

示例代码

  1. var obj = api.require('polyvVideoInfoModule');
  2. obj.getLevelNum({
  3. vid: 'sl8da4jjbx1c8baed8a48212d735d905_s'
  4. }, function(ret, err) {
  5. alert(ret.levelNum);
  6. });

iOS系统,Android系统