UIPLPlayer

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

openPlayer play pause resume stop switchPlayUrl getDuration getCurrentPosition full unfull addEventListener isFullScreen seekTo setVolume getVolume hidePlayer showPlayer closePlayer setSpeed

概述

1.UIPLPlayer 封装了七牛的PLPlayerKit视频播放插件。本模块带有UI方案,打开后为一个具有完整功能的播放器界面。

2.可播放MP4,FLV,M3U8,rtmp类型的视频。

3.本播放器全屏时为横屏显示,支持屏幕随设备自动旋转。手势滑动改变播放进度、屏幕亮度和音量的功能。

4.手势左右滑动可以使视频前进和后退播放

5.支持iOS 8.0 及以上版本。

openPlayer

打开视频播放器

openPlayer({params}, callback(ret, err))

注意: iOS在全屏时不显示全屏按钮

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 //(必填项)数字类型;模块的高度;默认值:300
  6. }

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块的样式设置
  • 内部字段:
  1. {
  2. head:{//(可选项)JSON对象;播放器顶部导航条样式
  3. bg: 'rgba(161,161,161,0.2)', //(可选项)字符串类型;顶部导航条背景,支持#、rgb、rgba;默认:rgba(161,161,161,0.2)
  4. height: 44, //(可选项)数字类型;顶部导航条的高;默认:44
  5. backBtn:{
  6. backSize: 44, //(可选项)数字类型;顶部返回按钮大小;默认:44
  7. backImg:'', //(可选项)字符串类型;顶部返回按钮的背景图片,要求本地路径(widget://、fs://);默认:返回小箭头图标
  8. },
  9. title:{
  10. size:15, //(可选项)数字类型;顶部标题字体大小;默认:15
  11. color:'#fff', //(可选项)字符串类
  12. },
  13. },
  14. foot:{ //(可选项)JSON对象;播放器底部导航条样式
  15. bg: 'rgba(161,161,161,0.5)', //(可选项)字符串类型;底部导航条背景,支持#、rgb、rgba、img;默认:rgba(161,161,161,0.5)
  16. height: 44, //(可选项)数字类型;底部导航条的高;默认:44
  17. playBtn:{
  18. size : 44, //(可选项)数字类型;底部播放/暂停按钮大小;默认:44
  19. playImg:'fs://img/play.png', //(可选项)字符串类型;底部播放按钮的背景图片,要求本地路径(widget://、fs://);默认:播放按钮图标
  20. pauseImg:'fs://img/pause.png',//(可选项)字符串类型;底部暂停按钮的背景图片,要求本地路径(widget://、fs://);默认:暂停按钮图标
  21. },
  22. currentTimeLabel:{
  23. textSize:14, //(可选项)数字类型;底部时间标签大小;默认:14
  24. textColor:"#FFF", //(可选项)字符串类型;底部时间标签颜色,支持#、rgba、rgb;默认:#FFF
  25. marginLeft:5 // (可选项) 数字类型;左边距,默认:5
  26. },
  27. seekBar:{
  28. sliderImg:'fs://img/slder.png', //(可选项)字符串类型;底部进度条滑块背景图片,要求本地路径(widget://、fs://);默认:滑块小图标
  29. progressColor: '#696969', //(可选项)字符串类型;进度条背景色,支持#、rgba、rgb;默认:#696969
  30. progressSelected: '#76EE00', //(可选项)字符串类型;滑动后的进度条背景色,支持#、rgb、rgba;默认:#76EE00
  31. },
  32. totalTimeLabel:{
  33. textSize:14, //(可选项)数字类型;底部时间标签大小;默认:14
  34. textColor:"#FFF", //(可选项)字符串类型;底部时间标签颜色,支持#、rgba、rgb;默认:#FFF
  35. },
  36. fullscreenBtn:{
  37. size:30, //(可选项)数字类型;底部全屏/非全屏按钮大小;默认:44
  38. fullscreenImg:'fs://img/vertical.png', //(可选项)字符串类型;底部全屏切换按钮的背景图片,竖屏状态下的切换按钮,要求本地路径(widget://、fs://);默认:竖屏按钮图标
  39. }
  40. }
  41. }

videoUrlPath:

  • 类型:字符串
  • 描述:(必填项)视频资源地址,支持fs://、widget://、rtmp://、http://

title:

  • 类型:字符串
  • 描述:(可选项)视频标题

isAutoPlay:

  • 类型:布尔型
  • 描述:(可选项)是否自动播放 (自动播放:true ; 不自动播放:false)
  • 默认值:true

isPlayMusic:

  • 类型:布尔型
  • 描述:(可选项)是否仅播放音频 (仅播放音频:true ; 视频播放:false)
  • 默认值:false

fixedOn:

  • 类型:字符串
  • 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window

fixed:

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

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: ""
  3. }

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.openPlayer({
  3. rect:
  4. { x: 0,
  5. y : 0,
  6. w : 320,
  7. h: 250
  8. },
  9. title: 'test',
  10. videoUrlPath: 'http://resource.apicloud.com/video/apicloud3.mp4',
  11. fixedOn: api.frameName,
  12. }, function(ret, err) {
  13. if(ret){
  14. alert(JSON.stringify(ret));
  15. }else{
  16. alert(JSON.stringify(err));
  17. }
  18. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

play

开始播放

play()

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.play();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

resume

暂停后恢复播放

resume()

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.resume();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

switchPlayUrl

同一个页面,已经调用play接口后,切换视频地址时调用(前提条件,同一界面已经调用过play接口)。

switchPlayUrl({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:(必选项)视频资源地址,支持fs://、widget://、rtmp://、http://

title:

  • 类型:字符串
  • 描述:(可选项)视频标题

sameSource:

  • 类型:字符串
  • 描述:(必选项)是否是同种格式播放,同格式切换打开更快(当sameSource 为 YES 时,视频格式与切换前视频格式不同时,会导致视频打开失败)

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: ""
  3. }

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.switchPlayUrl({
  3. title: 'test',
  4. url: 'http://resource.apicloud.com/video/apicloud3.mp4',
  5. defaultBtn: true
  6. }, function(ret, err) {
  7. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getDuration

获取视频的时长

getDuration(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. duration : 1221122//视频的总时长
  4. }

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getCurrentPosition

获取已经播放的时长

getCurrentPosition(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. currentPosition : 2221//已经播放的时长
  4. }

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

full

全屏播放

full()

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.full();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

unfull

退出全屏

unfull()

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.unfull();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addEventListener

播放器监听事件 (监听播放结束,暂停,播放,返回按钮,进入/退出全屏,视频区域点击监听)

addEventListener( callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. eventType: finished(播放结束),
  3. pause(暂停),
  4. play(播放),
  5. backBtn(返回按钮),
  6. full(进入全屏按钮),
  7. unfull(退出全屏按钮),
  8. click(视频区域点击监听),
  9. }

示例代码

  1. var obj = api.require('UIPLPlayer');
  2. obj.addEventListener(function(ret, err) {
  3. console.log("addEventListener" + JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isFullScreen

获取是否全屏播放状态

isFullScreen({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true|false //布尔型;true:全屏 false:窗口
  3. }

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.isFullScreen(function(ret, err) {
  3. console.log(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

seekTo

设置播放进度位置(请根据视频最大时长进行参数控制传入)

seekTo({params})

params

process:

  • 类型:数字型
  • 描述:(必填项)设置视频需要播放的时长
  • 默认值:0

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.seekTo({
  3. process : 402334
  4. });

可用性

Android系统

可提供的1.0.0及更高版本

setVolume

设置播音量 (注意:在iOS中,此接口设置的是播放器的音量,而不是系统音量)

setVolume({params})

params

volume:

  • 类型:数字型
  • 描述:(必填项)0-100
  • 默认值:0

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.setVolume({
  3. volume : 50
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getVolume

获取播放器音量 注意:对于iOS来说:此接口只能获取播放器的音量,而不是系统的音量

getVolume({params})

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. volume: 60 //数字类型;播放器音量大小
  3. }

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.getVolume(function(ret, err) {
  3. alert("音量"+JSON.stringify(ret));
  4. });

可用性

iOS

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer()

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.hidePlayer();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

showPlayer()

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.showPlayer();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

closePlayer

关闭播放器

closePlayer()

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.closePlayer();

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setSpeed

倍速播放

setSpeed({params})

params

speed:

  • 类型:数字型
  • 描述:(必填项)设置视频播放倍速(取值范围 0.1-1.9)
  • 默认值:1.0

示例代码

  1. var UIPLPlayer = api.require('UIPLPlayer');
  2. UIPLPlayer.setSpeed({
  3. speed : 1.9
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本