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对象
  • 内部字段:
  1. status: true, // 布尔类型,用来判断播放是否准备就绪
  2. msg: '准备播放', // 操作结果消息
  3. }

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.open({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: api.frameWidth,
  7. h: 260
  8. },
  9. url: 'rtmp://live.hkstv.hk.lxdns.com/live/hks',
  10. title: '我是标题',
  11. coverImg: 'widget://img/cover.png',
  12. fixedOn: api.frameName,
  13. fixed: false,
  14. }, function(ret){
  15. alert(JSON.stringify(ret));
  16. });

可用性

iOS系统 可提供的1.0.0及更高版本

close

关闭播放器

close()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.close();

可用性

iOS系统 可提供的1.0.0及更高版本

show

显示播放器并继续播放

show()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.show();

可用性

iOS系统 可提供的1.0.0及更高版本

hide

隐藏播放器并暂停播放

hide()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.hide();

可用性

iOS系统 可提供的1.0.0及更高版本

pause

暂停播放

pause()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.pause();

可用性

iOS系统 可提供的1.0.0及更高版本

resume

恢复播放并显示播放器,如果播放完成,则重新开始播放

resume()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. 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对象
  • 内部字段:
  1. {
  2. status: true, // 布尔类型,用来判断播放是否准备就绪
  3. msg: '准备播放', // 操作结果消息
  4. }

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.replay({
  3. url: 'http://7o50kb.com2.z0.glb.qiniucdn.com/c1.2.mp4',
  4. title: '我是标题',
  5. }, function(ret){
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统 可提供的1.0.0及更高版本

getDuration

获取视频文件的总时长

getDuration({params}, callback(ret))

params

url:

  • 类型:字符串类型
  • 描述:(可选项)视频的路径,支持网络和本地(widget://、fs://)路径,如果url不传,则获取的是当前播放的视频的总时长

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. kkPlayer.getDuration({
  2. url: 'http://7o50kb.com2.z0.glb.qiniucdn.com/c1.2.mp4',
  3. }, function(ret){
  4. alert(JSON.stringify(ret));
  5. });

可用性

iOS系统 可提供的1.0.0及更高版本

mute

设置静音模式

mute({params})

state:

  • 类型:布尔类型
  • 描述:(可选项)true为静音,false为取消静音
  • 默认:true

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.mute({
  3. state: true
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

loop

设置循环播放模式

loop({params})

params

state:

  • 类型:布尔类型
  • 描述:(可选项)true为循环播放,false为取消循环播放
  • 默认:true

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.loop({
  3. state: true
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

configControl

默认控件上面的按钮设置,仅在open参数中userControl设置为true时候有效

configControl({params})

params

showBack:

  • 类型:布尔类型
  • 描述:(可选项)是否显示返回按钮
  • 默认:true

showDownload:

  • 类型:布尔类型
  • 描述:(可选项)是否显示下载按钮
  • 默认:false

showFullScreen:

  • 类型:布尔类型
  • 描述:(可选项)是否显示全屏按钮
  • 默认:true

allowPanVolume:

  • 描述:(可选项)是否允许手势滑动调节视频音量
  • 默认:true

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.configControl({
  3. showBack: true,
  4. showDownload: true,
  5. showFullScreen: true,
  6. allowPanGesture: true
  7. });

可用性

iOS系统 可提供的1.0.0及更高版本

isFullScreen

判断当前是否为全屏模式

isFullScreen(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, // 布尔类型,true为全屏,false为非全屏
  3. }

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.isFullScreen(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

fullScreen

设置全屏播放模式

fullScreen({params})

params

state:

  • 类型:布尔类型
  • 描述:(可选项)true为全屏播放,false为取消全屏播放
  • 默认:true

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.fullScreen({
  3. state: true
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

isPlaying

判断是否正在播放

isPlaying(callback(ret))

callback(ret)

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, // 布尔类型,true为正在播放,false为没有播放
  3. }

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.isPlaying(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

fastForward

快进

fastForward({params})

params

seconds:

  • 类型:数字
  • 描述:(可选项)快进的时长,单位:秒
  • 默认:5

示例代码

可用性

iOS系统 可提供的1.0.0及更高版本

fastBackward

快退

fastBackward({params})

params

seconds:

  • 类型:数字
  • 描述:(可选项)快退的时长,单位:秒
  • 默认:5
  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.fastBackward({
  3. });

可用性

iOS系统 可提供的1.0.0及更高版本

seekTo

跳到指定的时间进行播放

seekTo({params})

params

seconds:

  • 类型:数字
  • 描述:(可选项)从该指定的时间开始播放,单位:秒
  • 默认:0

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.seekTo({
  3. seconds: 10
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

addEventListener

添加监听播放器中各种事件

addEventListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. eventType: // play(播放开始)
  3. // pause(播放暂停)
  4. // complete(播放完成)
  5. // rotate(屏幕旋转)
  6. // back(点击返回按钮)
  7. // download(点击下载按钮),会返回url
  8. // time(当前播放时间),会返回currentTime
  9. // error(播放异常),会返回errmsg
  10. errmsg: '错误信息',
  11. url: '',
  12. currentTime: '10.002',
  13. }

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.addEventListener(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

removeEventListener

移除事件监听

removeEventListener()

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.removeEventListener();

可用性

iOS系统 可提供的1.0.0及更高版本

playSpeed

设置播放速度

playSpeed({params})

params

speed:

  • 类型:数字
  • 描述:(可选项)播放的速度,取值范围(0.5~2.0)
  • 默认:1.0

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.playSpeed({
  3. speed: 1.0
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

rotate

旋转视频

rotate({params})

params

degress:

  • 类型:数字
  • 描述:(可选项)逆时针旋转角度,取值为(0,90,180,270), 其他数值不进行旋转
  • 默认:0

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.rotate({
  3. degress: 90
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

contentMode

画面填充模式

contentMode({params})

params

mode:

  • 类型:字符串
  • 描述:(可选项)填充模式
  • 默认:’aspectFit’
  • 取值范围:
    • none:无缩放
    • aspectFit:等比适配
    • aspectFill:等比填充
    • fill:全屏填充

示例代码

  1. var kkPlayer = api.require('kkPlayer');
  2. kkPlayer.contentMode({
  3. mode: 'aspectFit'
  4. });

可用性

iOS系统 可提供的1.0.0及更高版本

shotScreen

截屏并保存到相册,编译时请开启 读取照片 权限,否则会导致闪退

shotScreen(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, // 布尔类型,true为保存成功,false为保存失败
  3. msg: '图像保存成功', // 返回的消息
  4. }

示例代码

可用性