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 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w: 320, //(可选项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
  5. h: 260 //(可选项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
  6. }

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

示例代码

  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

url:

  • 类型:字符串类型
  • 描述:(必选项)视频的路径,支持网络和本地(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. {
  2. status: true, // 布尔类型,判断是否获取成功
  3. msg: '获取成功', // 返回的消息提示
  4. duration: 1000, // 总时长,单位:秒,如果获取失败,则此字段返回为0
  5. }

示例代码

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

可用性

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

mute

设置静音模式

mute({params})

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)

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

示例代码

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

可用性

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

fastBackward

快退

fastBackward({params})

params

seconds:

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

示例代码

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

可用性

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. }

示例代码

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

可用性

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