dkplayer
来自于:开发者立即使用
open setUrl start replay seekTo getCurrentPosition pause resume release startFullScreen stopFullScreen isFullScreen isLock screenShot addOnVideoViewStateChangeListener removeOnVideoViewStateChangeListener
概述
dkplayer实现了安卓播放器功能,能播放大多数格式视频,支持在线、本地视频、点播播放功能。模块自带ui功能,包含了常用的快进、快退、亮度和音量的滑动加减、标题等功能。同时支持加载视频网速、进度的显示,支持将网络图片设置为播放器封面图。
特殊说明:使用此模块您需实现模块的生命周期处理 模块在win中使用方法
var dkplayer;
var isfull = false;
apiready = function() {
dkplayer = api.require('dkplayer');
api.addEventListener({
name : 'keyback'
}, function(ret, err) {
goback();
});
api.addEventListener({
name : 'pause'
}, function(ret, err) {
dkplayer.pause();
});
api.addEventListener({
name : 'resume'
}, function(ret, err) {
dkplayer.resume();
});
api.addEventListener({
name : 'viewdisappear'
}, function(ret, err) {
dkplayer.pause();
});
}
function goback() {
if (dkplayer.isFullScreen()) {
if (dkplayer.isLock()) {
api.toast({
msg : '请先解锁屏幕!',
global : true
});
} else {
api.setScreenOrientation({
orientation : 'portrait_up'
});
dkplayer.stopFullScreen();
}
} else {
dkplayer.removeOnVideoViewStateChangeListener();
dkplayer.release();
api.closeWin();
}
}
open
打开播放器
open({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 备注:
内部字段:
{
x: 0, //(可选项)数字类型;公告视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;公告视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 0, //(可选项)数字类型;公告视图的宽度;默认:所属的 Window 或 Frame 的宽度
h: 200 //(可选项)数字类型;公告视图的高度;默认:200
}
coverImg:
- 类型:字符串对象
- 描述:(可选项)播放器的封面
- 备注:支持widget/fs/网络图片
url:
- 类型:字符串对象
- 描述:播放地址
title:
- 类型:字符串对象
- 描述:(可选项)播放器的标题
- 备注:为空时显示传入的url
autoPlay
- 类型:布尔
- 描述:(可选项)是否自动播放视频
- 默认值:true(自动播放)
enableFull
- 类型:布尔
- 描述:(可选项)是否全屏播放
- 默认值:false(不全屏)
- 备注:全屏播放时,传入的rect无效,只有小窗是有效
isLive
- 类型:布尔
- 描述:(可选项)是否是直播
- 默认值:false(非直播)
animation
- 类型:布尔
- 描述:(可选项)打开播放器是否使用动画
- 默认值:false(不使用)
fixed
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
fixedOn
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
playerState: 'open' / 'close' //字符串类型,交互事件类型
}
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.open({
rect : {
x : 0,
y : 0,
w : 0,
h : 200
},
url : "http://mov.bn.netease.com/open-movie/nos/flv/2017/01/03/SC8U8K7BC_hd.flv",
coverImg : 'http://pic15.nipic.com/20110628/1369025_192645024000_2.jpg',
animation : false,
title : "你好狗狗",
isLive : false,
enableFull : false, //是否全屏
autoPlay : false, //自动播放
fixedOn : api.frameName,
fixed : true
}, function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
setUrl
设置播放地址
setUrl({params})
params
url:
- 类型:字符串 对象
- 描述:播放地址
title:
- 类型:字符串 对象
- 描述:播放标题,默认为url地址
autoPlay
- 类型:布尔
- 描述:(可选项)是否自动播放视频
- 默认值:true(自动播放)
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.setUrl({
url : "https://tudou.com-l-tudou.com/20190405/16942_a3a1878c/index.m3u8",
title : "测试地址",
autoPlay:true
});
可用性
Android系统
可提供的1.0.0及更高版本
start
开始播放
reloadData({params})
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.start();
replay
重新播放
示例代码
var noticeView = api.require('noticeView');
dkplayer.replay();
seekTo
跳转到指定位置播放
seek:
var dkplayer = api.require('dkplayer');
dkplayer.seekTo({
seek : 50000
});
getCurrentPosition
获取播放进度
callback(ret)
ret:
- 类型:数字
{
CurrentPosition: 4555
}
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.getCurrentPosition();
pause
暂停播放
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.pause();
resume
从暂停播放中恢复播放
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.resume();
release
停止播放并释放播放器
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.release();
startFullScreen
进入全屏
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.startFullScreen();
stopFullScreen
退出全屏(手动终止全屏,需指明屏幕方向,否则会是横屏状态,模块中点击小屏按钮,无需此类操作)
示例代码
var dkplayer = api.require('dkplayer');
api.setScreenOrientation({
orientation : 'portrait_up'
});
dkplayer.stopFullScreen();
isFullScreen
是否处于全屏 (同步返回)
示例代码
var dkplayer = api.require('dkplayer');
alert(dkplayer.isFullScreen());
isLock
是否处于屏幕锁定状态 (同步返回)
示例代码
var dkplayer = api.require('dkplayer');
alert(dkplayer.isLock());
screenShot
视频截屏
callback(ret)
ret:
- 类型:字符串
{
savePath: '' // 返回截图保存的地址信息
}
err:
类型:字符串
{
err: 'failed'
}
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.screenShot(function(ret) {
alert(JSON.stringify(ret)+JSON.stringify(err));
});
addOnVideoViewStateChangeListener
监听播放状态变化
callback(ret)
ret:
- 类型:字符串
{
playState: '' // 取值范围:
//STATE_IDLE,静止状态,此时播放器还未进行初始化
//STATE_PREPARING,正在准备播放
//STATE_PREPARED,准备完成状态
//STATE_PLAYING,正在播放状态
//STATE_PAUSED,暂停播放状态
//STATE_BUFFERING,缓冲状态
//STATE_BUFFERED,缓冲结束状态
//STATE_PLAYBACK_COMPLETED,播放结束状态
//STATE_ERROR,播放错误
}
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.addOnVideoViewStateChangeListener(function(ret, err) {
alert(JSON.stringify(ret));
});
removeOnVideoViewStateChangeListener
移除状态监听
示例代码
var dkplayer = api.require('dkplayer');
dkplayer.removeOnVideoViewStateChangeListener();