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({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;公告视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;公告视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 0, //(可选项)数字类型;公告视图的宽度;默认:所属的 Window 或 Frame 的宽度
h: 200 //(可选项)数字类型;公告视图的高度;默认:200
}
coverImg:
url:
title:
autoPlay
enableFull
isLive
animation
fixed
fixedOn
ret:
{
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) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.1及更高版本
设置播放地址
setUrl({params})
url:
title:
autoPlay
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.1及更高版本
开始播放
reloadData({params})
var dkplayer = api.require('dkplayer');
dkplayer.start();
重新播放
var noticeView = api.require('noticeView');
dkplayer.replay();
跳转到指定位置播放
seek:
var dkplayer = api.require('dkplayer');
dkplayer.seekTo({
seek : 50000
});
获取播放进度
ret:
{
CurrentPosition: 4555
}
var dkplayer = api.require('dkplayer');
dkplayer.getCurrentPosition();
暂停播放
var dkplayer = api.require('dkplayer');
dkplayer.pause();
从暂停播放中恢复播放
var dkplayer = api.require('dkplayer');
dkplayer.resume();
停止播放并释放播放器
var dkplayer = api.require('dkplayer');
dkplayer.release();
进入全屏
var dkplayer = api.require('dkplayer');
dkplayer.startFullScreen();
退出全屏(手动终止全屏,需指明屏幕方向,否则会是横屏状态,插件中点击小屏按钮,无需此类操作)
var dkplayer = api.require('dkplayer');
api.setScreenOrientation({
orientation : 'portrait_up'
});
dkplayer.stopFullScreen();
是否处于全屏 (同步返回)
var dkplayer = api.require('dkplayer');
alert(dkplayer.isFullScreen());
是否处于屏幕锁定状态 (同步返回)
var dkplayer = api.require('dkplayer');
alert(dkplayer.isLock());
视频截屏
ret:
{
savePath: '' // 返回截图保存的地址信息
}
err:
{
err: 'failed'
}
var dkplayer = api.require('dkplayer');
dkplayer.screenShot(function(ret) {
alert(JSON.stringify(ret)+JSON.stringify(err));
});
监听播放状态变化
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) {
api.alert({msg: JSON.stringify(ret)});
});
移除状态监听
var dkplayer = api.require('dkplayer');
dkplayer.removeOnVideoViewStateChangeListener();