kkPlayer
open show pause replay mute configControl fullScreen fastForward seekTo removeEventListener rotate shotScreen
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码供您参考。
概述
kkPlayer 封装了音视频播放功能,同时支持网络视频的播放,支持(http,https, hls, rtmp, rtsp)等流协议。内置的control支持手势操作,左右滑动快退快进,模拟腾讯播放器上下滑动可调节音量和屏幕亮度。如果不使用内置control,则需要自行实现各种控制功能,比如您可在此模块上添加一个frame进行各种控制操作。本模块支持的视频文件格式有:mp4,3gp,flv,ts,mpeg,mov,mkv,wav,webm,rmvb,m4v,avi,asf等等,覆盖了大部分的视频格式文件。
open
打开 kkPlayer 模块
open({params}, callback(ret))
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
url:
- 类型:字符串类型
- 描述:(必选项)视频的路径,支持网络和本地(widget://、fs://)路径,支持(http,https, hls, rtmp, rtsp)等流协议
title:
- 类型:字符串类型
- 描述:(可选项)视频标题,用来显示在顶部栏
autoPlay:
- 类型:布尔
- 描述:(可选项)打开时是否自动播放
- 默认值:true(自动播放)
autoRotate:
- 类型:布尔
- 描述:(可选项)是否允许通过旋转来进行全屏切换
- 默认值:true(允许)
userControl:
- 描述:(可选项)是否使用默认的控制层,如果不使用,所有手势均会失效
- 默认值:true
seekTime:
- 类型:数字
- 描述:(可选项)视频播放开始的位置
- 默认值:0
audio:
- 类型:布尔
- 描述:(可选项)播放的资源是否是音频文件,若是则开始播放后不移除封面图 coverImg
- 默认值:false
coverImg:
- 类型:字符串类型
- 描述:(可选项)封面图路径,播放器打开尚未播放时的封面图,要求本地路径(widget://、fs://)
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)是否将模块视图固定到窗口上(不跟随窗口上下滚动),如果被其他视图遮挡,请将此值设置为true
- 默认:true
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
status: true, // 布尔类型,用来判断播放是否准备就绪
msg: '准备播放', // 操作结果消息
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.open({
rect: {
x: 0,
y: 0,
w: api.frameWidth,
h: 260
},
url: 'rtmp://live.hkstv.hk.lxdns.com/live/hks',
title: '我是标题',
coverImg: 'widget://img/cover.png',
fixedOn: api.frameName,
fixed: false,
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
close
关闭播放器
close()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.close();
可用性
iOS系统 可提供的1.0.0及更高版本
show
显示播放器并继续播放
show()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.show();
可用性
iOS系统 可提供的1.0.0及更高版本
hide
隐藏播放器并暂停播放
hide()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.hide();
可用性
iOS系统 可提供的1.0.0及更高版本
pause
暂停播放
pause()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.pause();
可用性
iOS系统 可提供的1.0.0及更高版本
resume
恢复播放并显示播放器,如果播放完成,则重新开始播放
resume()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.resume();
可用性
iOS系统 可提供的1.0.0及更高版本
replay
切换新的视频文件进行播放
replay({params}, callback(ret))
params
- 类型:字符串类型
- 描述:(必选项)视频的路径,支持网络和本地(widget://、fs://)路径,网络视频支持(http,https, hls, rtmp, rtsp)等协议
title:
- 类型:字符串类型
- 描述:(可选项)视频标题,用来显示在顶部栏
seekTime:
- 类型:数字
- 描述:(可选项)视频播放开始的位置
- 默认值:0
audio:
- 类型:布尔
- 描述:(可选项)播放的资源是否是音频文件,若是则开始播放后不移除封面图 coverImg
- 默认值:false
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, // 布尔类型,用来判断播放是否准备就绪
msg: '准备播放', // 操作结果消息
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.replay({
url: 'http://7o50kb.com2.z0.glb.qiniucdn.com/c1.2.mp4',
title: '我是标题',
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
getDuration
获取视频文件的总时长
getDuration({params}, callback(ret))
params
url:
- 类型:字符串类型
- 描述:(可选项)视频的路径,支持网络和本地(widget://、fs://)路径,如果url不传,则获取的是当前播放的视频的总时长
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
示例代码
kkPlayer.getDuration({
url: 'http://7o50kb.com2.z0.glb.qiniucdn.com/c1.2.mp4',
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
mute
设置静音模式
mute({params})
state:
- 类型:布尔类型
- 描述:(可选项)true为静音,false为取消静音
- 默认:true
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.mute({
state: true
});
可用性
iOS系统 可提供的1.0.0及更高版本
loop
设置循环播放模式
loop({params})
params
state:
- 类型:布尔类型
- 描述:(可选项)true为循环播放,false为取消循环播放
- 默认:true
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.loop({
state: true
});
可用性
iOS系统 可提供的1.0.0及更高版本
configControl
默认控件上面的按钮设置,仅在open参数中userControl设置为true时候有效
configControl({params})
params
showBack:
- 类型:布尔类型
- 描述:(可选项)是否显示返回按钮
- 默认:true
showDownload:
- 类型:布尔类型
- 描述:(可选项)是否显示下载按钮
- 默认:false
showFullScreen:
- 类型:布尔类型
- 描述:(可选项)是否显示全屏按钮
- 默认:true
allowPanVolume:
- 描述:(可选项)是否允许手势滑动调节视频音量
- 默认:true
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.configControl({
showBack: true,
showDownload: true,
showFullScreen: true,
allowPanGesture: true
});
可用性
iOS系统 可提供的1.0.0及更高版本
isFullScreen
判断当前是否为全屏模式
isFullScreen(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, // 布尔类型,true为全屏,false为非全屏
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.isFullScreen(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
fullScreen
设置全屏播放模式
fullScreen({params})
params
state:
- 类型:布尔类型
- 描述:(可选项)true为全屏播放,false为取消全屏播放
- 默认:true
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.fullScreen({
state: true
});
可用性
iOS系统 可提供的1.0.0及更高版本
isPlaying
判断是否正在播放
isPlaying(callback(ret))
callback(ret)
- 类型:JSON对象
- 内部字段:
{
status: true, // 布尔类型,true为正在播放,false为没有播放
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.isPlaying(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
fastForward
快进
fastForward({params})
params
seconds:
- 类型:数字
- 描述:(可选项)快进的时长,单位:秒
- 默认:5
示例代码
可用性
iOS系统 可提供的1.0.0及更高版本
fastBackward
快退
fastBackward({params})
params
seconds:
- 类型:数字
- 描述:(可选项)快退的时长,单位:秒
- 默认:5
var kkPlayer = api.require('kkPlayer');
kkPlayer.fastBackward({
});
可用性
iOS系统 可提供的1.0.0及更高版本
seekTo
跳到指定的时间进行播放
seekTo({params})
params
seconds:
- 类型:数字
- 描述:(可选项)从该指定的时间开始播放,单位:秒
- 默认:0
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.seekTo({
seconds: 10
});
可用性
iOS系统 可提供的1.0.0及更高版本
addEventListener
添加监听播放器中各种事件
addEventListener(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: // play(播放开始)
// pause(播放暂停)
// complete(播放完成)
// rotate(屏幕旋转)
// back(点击返回按钮)
// download(点击下载按钮),会返回url
// time(当前播放时间),会返回currentTime
// error(播放异常),会返回errmsg
errmsg: '错误信息',
url: '',
currentTime: '10.002',
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.addEventListener(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本
removeEventListener
移除事件监听
removeEventListener()
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.removeEventListener();
可用性
iOS系统 可提供的1.0.0及更高版本
playSpeed
设置播放速度
playSpeed({params})
params
speed:
- 类型:数字
- 描述:(可选项)播放的速度,取值范围(0.5~2.0)
- 默认:1.0
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.playSpeed({
speed: 1.0
});
可用性
iOS系统 可提供的1.0.0及更高版本
rotate
旋转视频
rotate({params})
params
degress:
- 类型:数字
- 描述:(可选项)逆时针旋转角度,取值为(0,90,180,270), 其他数值不进行旋转
- 默认:0
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.rotate({
degress: 90
});
可用性
iOS系统 可提供的1.0.0及更高版本
contentMode
画面填充模式
contentMode({params})
params
mode:
- 类型:字符串
- 描述:(可选项)填充模式
- 默认:’aspectFit’
- 取值范围:
- none:无缩放
- aspectFit:等比适配
- aspectFill:等比填充
- fill:全屏填充
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.contentMode({
mode: 'aspectFit'
});
可用性
iOS系统 可提供的1.0.0及更高版本
shotScreen
截屏并保存到相册,编译时请开启 读取照片 权限,否则会导致闪退
shotScreen(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, // 布尔类型,true为保存成功,false为保存失败
msg: '图像保存成功', // 返回的消息
}