kkPlayer
来自于:开发者立即使用
open close show hide pause resume replay getDuration mute loop configControl isFullScreen fullScreen isPlaying fastForward fastBackward seekTo addEventListener removeEventListener playSpeed rotate contentMode 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))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 260 //(可选项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
}
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
url:
- 类型:字符串类型
- 描述:(必选项)视频的路径,支持网络和本地(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对象
- 内部字段:
{
status: true, // 布尔类型,判断是否获取成功
msg: '获取成功', // 返回的消息提示
duration: 1000, // 总时长,单位:秒,如果获取失败,则此字段返回为0
}
示例代码
var kkPlayer = api.require('kkPlayer');
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})
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)
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
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.fastForward({
seconds: 3
});
可用性
iOS系统 可提供的1.0.0及更高版本
fastBackward
快退
fastBackward({params})
params
seconds:
- 类型:数字
- 描述:(可选项)快退的时长,单位:秒
- 默认:5
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.fastBackward({
seconds: 3
});
可用性
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: '图像保存成功', // 返回的消息
}
示例代码
var kkPlayer = api.require('kkPlayer');
kkPlayer.shotScreen(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS系统 可提供的1.0.0及更高版本