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 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
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){
alert(JSON.stringify(ret));
}else{
alert(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) {
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()
示例代码
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及更高版本