- plPlayer
- 概述
- openPlayer
- play
- pause
- resume
- stop
- switchPlayUrl
- getTotalDuration
- getCurrentTime
- addPlayerStatusListener
- seekTo
- setVolume
- getVolume
- setBrightness 设置屏幕亮度 在 iOS 平台上设置的是系统屏幕亮度 setBrightness({params}) ##params brightness: - 类型:数字 - 描述:(可选项)设置的屏幕的亮度,取值范围:0-100 - 默认值:80 ##示例代码
js var plPlayer = api.require('plPlayer'); plPlayer.setBrightness({ brightness: 50 });
##可用性 iOS系统,Android系统 可提供的1.0.0及更高版本 - getBrightness
- hidePlayer
- showPlayer
- closePlayer
- setSpeed
- getScreenShot
- setRotationMode
plPlayer
openPlayer play pause resume stop switchPlayUrl getTotalDuration getCurrentTime addPlayerStatusListener seekTo setVolume getVolume setBrightness getBrightness hidePlayer showPlayer closePlayer setSpeed getScreenShot setRotationMode
概述
由于七牛不再维护此播放sdk,本模块已下架。
1.plPlayer 封装了七牛的PLPlayerKit视频播放插件。本模块只提供纯功能性接口。
2.可播放MP4,FLV,M3U8,rtmp类型的视频。
3.支持iOS 8.0 及以上版本。
openPlayer
打开视频播放器页面
openPlayer({params})
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 300 //数字类型;模块的高度;默认值:300
}
videoUrlPath:
- 类型:字符串
- 描述:视频资源地址,支持fs://、widget://、rtmp://、http://(android不支持widget://)
isAutoPlay:
- 类型:布尔型
- 描述:(可选项)是否自动播放 (自动播放:true ; 不自动播放:false)(仅iOS支持,android可再addPlayerStatusListener接口 监听到ready后调用播放接口)
- 默认值:true
timeoutIntervalForMediaPackets:
- 类型:数字类型
- 描述:(可选项)接收/发送数据包超时时间间隔所对应的键值,单位为 s ,默认配置为 10s,建议设置正数。设置的值小于等于 0 时,表示禁用超时,播放卡住时,将无超时回调,该参数仅对 rtmp/flv 直播生效
- 默认值:10
maxL1BufferDuration:
- 类型:数字类型
- 描述:(可选项)一级缓存大小,单位为 ms,默认为 2000ms,增大该值可以减小播放过程中的卡顿率,但会增大弱网环境的最大累积延迟,该缓存存放的是网络层读取到的数据,为保证实时性,超过该缓存池大小的过期音频数据将被丢弃,视频将加速渲染追上音频,该参数仅对 rtmp/flv 直播生效
- 默认值:2000
maxL2BufferDuration:
- 类型:数字类型
- 描述:(可选项)默认二级缓存大小,单位为 ms,默认为 300ms,增大该值可以减小播放过程中的卡顿率,但会增大弱网环境的最大累积延迟,该缓存存放的是解码之后待渲染的数据,如果该缓存池满,则二级缓存将不再接收来自一级缓存的数据,该参数仅对 rtmp/flv 直播生效
- 默认值:300
isVideoToolbox:
- 类型:布尔型
- 描述:(可选项)是否使用 video toolbox 硬解码,使用 video toolbox Player 将尝试硬解码,失败后,将切换回软解码,该参数仅对 rtmp/flv 直播生效
- 默认值:false
dNSManager:
- 类型:字符串
- 描述:(可选项)dns 查询,是否使用内置 DNS 解析,是否开启 DNS 解析,默认使用系统 API 解析,该参数仅对 rtmp/flv 直播生效
videoCacheFolderPath:
- 类型:字符串
- 描述:(可选项)视频缓存目录,默认为空,该属性仅对点播 mp4 有效, 当 videoCacheFolderPath 有值时,默认关闭 DNS 解析,支持fs
videoCacheExtensionName:
- 类型:字符串
- 描述:(可选项)视频缓存扩展名,该属性仅对点播 mp4 有效,需在视频缓存目录 videoCacheFolderPath 基础上设置
headUserAgent:
- 类型:字符串
- 描述:(可选项)该参数用于设置 http 的 header,不可包含 “\n” 或 “\r”,包含”\n” 或 “\r” 则设置无效,设置 http 的 header,需要以类似 @”key:value” 的方式,例如:给 http 的 header 添加 referer,则以 @”Referer:http://xxx.xxx.com“ 格式配置
backgroundPlayEnable:
- 类型:布尔型
- 描述:(可选项)是否支持后台播放,需要注意的是在后台播放时仅有音频,视频会在回到前台时继续播放。(android支持后台播放,但不支持此参数设置)
- 默认值:true
loopPlay:
- 类型:布尔型
- 描述:(可选项)是否循环播放,该属性仅对点播有效。
- 默认值:false
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.openPlayer({
rect:
{ x: 0,
y : 0,
w : 320,
h: 250
},
videoUrlPath: 'http://resource.apicloud.com/video/apicloud3.mp4',
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
play
开始播放
play(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false;是否成功播放
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.play(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pause
暂停播放
pause()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.pause();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resume
暂停后恢复播放
resume()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.resume();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stop
停止播放
stop()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.stop();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchPlayUrl
同一个页面,已经调用play接口后,切换视频地址时调用(前提条件,同一界面已经调用过play接口)。
switchPlayUrl({params}, callback(ret, err))
params
url:
- 类型:字符串
- 描述:视频资源地址,支持fs://、widget://、rtmp://、http://(android不支持widget://)
sameSource:
- 类型:布尔类型
- 描述:(可选项)是否是同种格式播放,同格式切换打开更快(当sameSource 为 true 时,视频格式与切换前视频格式不同时,会导致视频打开失败)(仅iOS支持)
- 默认:true
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false;是否成功播放
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.switchPlayUrl({
url: '',
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getTotalDuration
获取视频的时长
getTotalDuration(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
duration : 10 //视频的总时长,单位秒
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.getTotalDuration(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCurrentTime
获取已经播放的时长
getCurrentTime(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
time : 6//已经播放的时长,单位秒
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.getCurrentTime(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addPlayerStatusListener
添加播放状态监听
addPlayerStatusListener(callback(ret, err))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType : 'playing', //字符串类型;事件类型
//'unknow' : 未知状态,只会作为 init 后的初始状态,开始播放之后任何情况下都不会再回到此状态
//'preparing' : 正在准备播放所需组件,在调用 -play 方法时出现。(仅iOS支持)
//'ready' : 播放组件准备完成,准备开始播放,在调用 -play 方法时出现。
//'open' : 播放组件准备完成,准备开始连接,请勿在此状态时,调用 switchPlayUrl 切换 URL 操作(仅iOS支持)
//'caching' : 缓存数据为空状态(仅iOS支持)
//'playing' : 正在播放状态(仅iOS支持)
//'paused' : 暂停状态(仅iOS支持)
//'stopped' : 停止状态(仅iOS支持)
//'error' : 错误状态
//'autoReconnecting' : 自动重连的状态(仅iOS支持)
//'completed' : 播放完成(该状态只针对点播有效)
//'connected': 连接成功 (仅android支持)
//'videoBitrate': 视频码率统计成功(仅android支持)
//'videoFPS':视频帧率统计成功(仅android支持)
//'bufferingStart':开始缓冲(仅android支持)
//'bufferingEnd':停止缓冲(仅android支持)
error:{ //json对象,错误信息,eventType == error如果有错误信息就会返回该字段,否则不会返回
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息(仅iOS支持)
}
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.addPlayerStatusListener(function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
seekTo
快速定位到指定播放时间点,该方法仅在回放时起作用
seekTo({params})
params
time:
- 类型:数字型
- 描述:时间点,单位秒
- 默认值:0
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.seekTo({
time : 402334
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setVolume
设置音量 (注意:在iOS中,此接口设置的是播放器的音量,而不是系统音量)
setVolume({params})
params
volume:
- 类型:数字型
- 描述:(可选项)0-3.0
- 默认值:0
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.setVolume({
volume : 1.0
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getVolume
获取播放器音量 注意:对于iOS来说:此接口只能获取播放器的音量,而不是系统的音量(仅iOS支持)
getVolume({params})
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
volume: 1 //数字类型;播放器音量大小
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.getVolume(function(ret, err) {
alert("音量"+JSON.stringify(ret));
});
可用性
iOS系统
可提供的1.0.0及更高版本
setBrightness 设置屏幕亮度 在 iOS 平台上设置的是系统屏幕亮度 setBrightness({params}) ##params brightness: - 类型:数字 - 描述:(可选项)设置的屏幕的亮度,取值范围:0-100 - 默认值:80 ##示例代码 js var plPlayer = api.require('plPlayer'); plPlayer.setBrightness({ brightness: 50 });
##可用性 iOS系统,Android系统 可提供的1.0.0及更高版本
getBrightness
获取当前屏幕亮度值 在 iOS 平台上获取的是系统屏幕亮度
getBrightness(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
brightness: //数字类型;当前屏幕亮度值
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.getBrightness(function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hidePlayer
隐藏播放器
hidePlayer()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.hidePlayer();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
showPlayer
显示播放器
showPlayer()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.showPlayer();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
closePlayer
关闭播放器
closePlayer()
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.closePlayer();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSpeed
倍速播放
setSpeed({params})
params
speed:
- 类型:数字型
- 描述:(可选项)设置视频播放倍速(取值范围 0.2-32)
- 默认值:1.0
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.setSpeed({
speed : 1.9
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getScreenShot
截屏
getScreenShot({params},callback(ret))
params
isSavedPhotosAlbum:
- 类型:布尔类型
- 描述:(可选项)是否存入相册(仅iOS支持)
- 默认值:true
delayTime:
- 类型:数字类型
- 描述:(可选项)延时毫秒数,延时此毫秒数后截屏
- 默认值:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true|false //布尔型;截屏成功/失败
path:'', //字符串类型;截屏图片存储路径
}
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.getScreenShot({
isSavedPhotosAlbum:true
},function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRotationMode
设置画面旋转模式(该属性仅对 rtmp/flv 直播与 ffmpeg 点播有效)
setRotationMode({params})
params
rotationMode:
- 类型:数字类型
- 描述:(可选项)画面旋转模式,0:无旋转,1:向左旋,2:向右旋,3:垂直翻转,4:水平翻转,5:旋转 180 度
- 默认值:0
示例代码
var plPlayer = api.require('plPlayer');
plPlayer.setRotationMode({
rotationMode:5
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本