Uiplplayer

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

概述

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

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

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

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

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

openPlayer

打开视频播放器

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

params

rect:

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

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块的样式设置
  • 内部字段:
{
    head:{//(可选项)JSON对象;播放器顶部导航条样式    
       bg: 'rgba(161,161,161,0.2)', //(可选项)字符串类型;顶部导航条背景,支持#、rgb、rgba;默认:rgba(161,161,161,0.2)
       height: 44,                  //(可选项)数字类型;顶部导航条的高;默认:44
       backBtn:{
          backSize: 44,             //(可选项)数字类型;顶部返回按钮大小;默认:44
          backImg:'',               //(可选项)字符串类型;顶部返回按钮的背景图片,要求本地路径(widget://、fs://);默认:返回小箭头图标
       }
       title:{
       size:15,                     //(可选项)数字类型;顶部标题字体大小;默认:15
       color:'#fff',                //(可选项)字符串类
       },  
    foot:{                                  //(可选项)JSON对象;播放器底部导航条样式    
       bg: 'rgba(161,161,161,0.5)',         //(可选项)字符串类型;底部导航条背景,支持#、rgb、rgba、img;默认:rgba(161,161,161,0.5)
       height: 44,                          //(可选项)数字类型;底部导航条的高;默认:44
             palyBtn:{
                 size : 44,                    //(可选项)数字类型;底部播放/暂停按钮大小;默认:44
                 playImg:'fs://img/play.png',  //(可选项)字符串类型;底部播放按钮的背景图片,要求本地路径(widget://、fs://);默认:播放按钮图标
                 pauseImg:'fs://img/pause.png',//(可选项)字符串类型;底部暂停按钮的背景图片,要求本地路径(widget://、fs://);默认:暂停按钮图标 

             },
             currentTimeLabel:{
                 textSize:14,                  //(可选项)数字类型;底部时间标签大小;默认:14
                 textColor:"#FFF",             //(可选项)字符串类型;底部时间标签颜色,支持#、rgba、rgb;默认:#FFF
                 marginLeft:5                  // (可选项) 
数字类型;左边距,默认:5 

             },                
             seekBar:{
              sliderImg:'fs://img/slder.png', //(可选项)字符串类型;底部进度条滑块背景图片,要求本地路径(widget://、fs://);默认:滑块小图标
              progressColor: '#696969',          //(可选项)字符串类型;进度条背景色,支持#、rgba、rgb;默认:#696969
              progressSelected: '#76EE00',       //(可选项)字符串类型;滑动后的进度条背景色,支持#、rgb、rgba;默认:#76EE00
             },
             totalTimeLabel:{
                 textSize:14,                     //(可选项)数字类型;底部时间标签大小;默认:14
                 textColor:"#FFF",                //(可选项)字符串类型;底部时间标签颜色,支持#、rgba、rgb;默认:#FFF
             },
             fullscreenBtn:{
                size:30, //(可选项)数字类型;底部全屏/非全屏按钮大小;默认:44
                 fullscreenImg:'fs://img/vertical.png',       //(可选项)字符串类型;底部全屏切换按钮的背景图片,竖屏状态下的切换按钮,要求本地路径(widget://、fs://);默认:竖屏按钮图标

             }
    }
}

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对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

var obj = api.require('UIPLPlayer');
obj.openPlayer({
    rect:
    {    x: 0,
        y : 0,
        w : 320,
        h: 250
    },

    title: 'test',
    videoUrlPath: 'http://resource.apicloud.com/video/apicloud3.mp4',
     fixedOn: api.frameName,
}, function(ret, err) {
 if(ret){
 alert(JSON.stringify(ret));
 }else{
 alert(JSON.stringify(err));
 }

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

play

开始播放

play(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.play(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.pause(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

resume

暂停后恢复播放

resume(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.resume(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.stop(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

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对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ""
}

示例代码

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

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getDuration

获取视频的时长

getDuration(callback(ret, err))

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getCurrentPosition

获取已经播放的时长

getCurrentPosition(callback(ret, err))

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

full

全屏播放

full(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.full(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

unfull

退出全屏

unfull(callback(ret, err))

示例代码

var obj = api.require('UIPLPlayer');
obj.unfull(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

#addEventListener 视频播放完监听事件 addEventListener({params}, callback(ret, err)) ##params name: - 类型:字符串 - 描述:监听事件名称,可以设置的播放界面监听类型有: ##callback(ret, err) ret: - 类型:JSON对象 - 内部字段: js { eventType: finished(播放结束), pause(暂停), play(播放), backBtn(返回按钮), full(进入全屏按钮), unfull(退出全屏按钮), click(视频区域点击监听), bufferingStart(缓冲开始), bufferingEnd(缓冲结束) } ##示例代码 js var obj = api.require('UIPLPlayer'); obj.addEventListener({ name: 'playEnd' }, function(ret, err) { console.log("addEventListener" + JSON.stringify(ret)); }); ##可用性 iOS、Android系统 可提供的1.0.0及更高版本

isFullScreen

获取是否全屏播放状态

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

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

seekTo

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

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

params

process:

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

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.seekTo({
    process : 402334
},function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setVolume

设置播音量

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

params

volume:

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

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.setVolume({
    volume : 50
},function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer(callback(ret, err))

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.hidePlayer(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

showPlayer(callback(ret, err))

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.showPlayer(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

closePlayer

关闭播放器

closePlayer(callback(ret, err))

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.closePlayer(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setSpeed

倍速播放

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

params

speed:

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

示例代码

var UIPLPlayer = api.require('UIPLPlayer');
UIPLPlayer.setSpeed({
    speed : 1.9
},function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本