UIPLPlayer

概述

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 对象
  • 描述:(可选项)插件的位置及尺寸
  • 内部字段:
{
    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
             playBtn:{
                 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){
 api.alert({msg: JSON.stringify(ret)});
 }else{
 api.alert({msg: JSON.stringify(err)});
 }

});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

play

开始播放

play()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

resume

暂停后恢复播放

resume()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

var obj = api.require('UIPLPlayer');
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对象
  • 内部字段:
{
    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) {
    api.alert({msg: 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) {
    api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

full

全屏播放

full()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

unfull

退出全屏

unfull()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addEventListener

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

addEventListener( callback(ret, err))

callback(ret, err)

ret:

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

示例代码

var obj = api.require('UIPLPlayer');
obj.addEventListener(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})

params

process:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

setVolume

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

setVolume({params})

params

volume:

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

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getVolume

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

getVolume({params})

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

showPlayer()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

closePlayer

关闭播放器

closePlayer()

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setSpeed

倍速播放

setSpeed({params})

params

speed:

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

示例代码

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

可用性

iOS、Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/10/10