kkPlayer

来自于:开发者立即使用

概述

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及更高版本