dkplayer

来自于:开发者立即使用

open setUrl start replay seekTo getCurrentPosition pause resume release startFullScreen stopFullScreen isFullScreen isLock screenShot addOnVideoViewStateChangeListener removeOnVideoViewStateChangeListener

概述

dkplayer实现了安卓播放器功能,能播放大多数格式视频,支持在线、本地视频、点播播放功能。模块自带ui功能,包含了常用的快进、快退、亮度和音量的滑动加减、标题等功能。同时支持加载视频网速、进度的显示,支持将网络图片设置为播放器封面图。

特殊说明:使用此模块您需实现模块的生命周期处理 模块在win中使用方法

  1. var dkplayer;
  2. var isfull = false;
  3. apiready = function() {
  4. dkplayer = api.require('dkplayer');
  5. api.addEventListener({
  6. name : 'keyback'
  7. }, function(ret, err) {
  8. goback();
  9. });
  10. api.addEventListener({
  11. name : 'pause'
  12. }, function(ret, err) {
  13. dkplayer.pause();
  14. });
  15. api.addEventListener({
  16. name : 'resume'
  17. }, function(ret, err) {
  18. dkplayer.resume();
  19. });
  20. api.addEventListener({
  21. name : 'viewdisappear'
  22. }, function(ret, err) {
  23. dkplayer.pause();
  24. });
  25. }
  26. function goback() {
  27. if (dkplayer.isFullScreen()) {
  28. if (dkplayer.isLock()) {
  29. api.toast({
  30. msg : '请先解锁屏幕!',
  31. global : true
  32. });
  33. } else {
  34. api.setScreenOrientation({
  35. orientation : 'portrait_up'
  36. });
  37. dkplayer.stopFullScreen();
  38. }
  39. } else {
  40. dkplayer.removeOnVideoViewStateChangeListener();
  41. dkplayer.release();
  42. api.closeWin();
  43. }
  44. }

open

打开播放器

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 备注:
  • 内部字段:

    1. {
    2. x: 0, //(可选项)数字类型;公告视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    3. y: 0, //(可选项)数字类型;公告视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    4. w: 0, //(可选项)数字类型;公告视图的宽度;默认:所属的 Window 或 Frame 的宽度
    5. h: 200 //(可选项)数字类型;公告视图的高度;默认:200
    6. }

    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对象
  • 内部字段:
  1. {
  2. playerState: 'open' / 'close' //字符串类型,交互事件类型
  3. }

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.open({
  3. rect : {
  4. x : 0,
  5. y : 0,
  6. w : 0,
  7. h : 200
  8. },
  9. url : "http://mov.bn.netease.com/open-movie/nos/flv/2017/01/03/SC8U8K7BC_hd.flv",
  10. coverImg : 'http://pic15.nipic.com/20110628/1369025_192645024000_2.jpg',
  11. animation : false,
  12. title : "你好狗狗",
  13. isLive : false,
  14. enableFull : false, //是否全屏
  15. autoPlay : false, //自动播放
  16. fixedOn : api.frameName,
  17. fixed : true
  18. }, function(ret, err) {
  19. alert(JSON.stringify(ret));
  20. });

可用性

Android系统

可提供的1.0.0及更高版本

setUrl

设置播放地址

setUrl({params})

params

url:

  • 类型:字符串 对象
  • 描述:播放地址

title:

  • 类型:字符串 对象
  • 描述:播放标题,默认为url地址

autoPlay

  • 类型:布尔
  • 描述:(可选项)是否自动播放视频
  • 默认值:true(自动播放)

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.setUrl({
  3. url : "https://tudou.com-l-tudou.com/20190405/16942_a3a1878c/index.m3u8",
  4. title : "测试地址",
  5. autoPlay:true
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

start

开始播放

reloadData({params})

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.start();

replay

重新播放

示例代码

  1. var noticeView = api.require('noticeView');
  2. dkplayer.replay();

seekTo

跳转到指定位置播放

seek:

  • 类型:数字类型
  • 描述:单位与getCurrentPosition返回一致
  • 示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.seekTo({
  3. seek : 50000
  4. });

getCurrentPosition

获取播放进度

callback(ret)

ret:

  • 类型:数字
  1. {
  2. CurrentPosition: 4555
  3. }

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.getCurrentPosition();

pause

暂停播放

示例代码

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

resume

从暂停播放中恢复播放

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.resume();

release

停止播放并释放播放器

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.release();

startFullScreen

进入全屏

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.startFullScreen();

stopFullScreen

退出全屏(手动终止全屏,需指明屏幕方向,否则会是横屏状态,模块中点击小屏按钮,无需此类操作)

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. api.setScreenOrientation({
  3. orientation : 'portrait_up'
  4. });
  5. dkplayer.stopFullScreen();

isFullScreen

是否处于全屏 (同步返回)

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. alert(dkplayer.isFullScreen());

isLock

是否处于屏幕锁定状态 (同步返回)

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. alert(dkplayer.isLock());

screenShot

视频截屏

callback(ret)

ret:

  • 类型:字符串
  1. {
  2. savePath: '' // 返回截图保存的地址信息
  3. }

err:

  • 类型:字符串

    1. {
    2. err: 'failed'
    3. }

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.screenShot(function(ret) {
  3. alert(JSON.stringify(ret)+JSON.stringify(err));
  4. });

addOnVideoViewStateChangeListener

监听播放状态变化

callback(ret)

ret:

  • 类型:字符串
  1. {
  2. playState: '' // 取值范围:
  3. //STATE_IDLE,静止状态,此时播放器还未进行初始化
  4. //STATE_PREPARING,正在准备播放
  5. //STATE_PREPARED,准备完成状态
  6. //STATE_PLAYING,正在播放状态
  7. //STATE_PAUSED,暂停播放状态
  8. //STATE_BUFFERING,缓冲状态
  9. //STATE_BUFFERED,缓冲结束状态
  10. //STATE_PLAYBACK_COMPLETED,播放结束状态
  11. //STATE_ERROR,播放错误
  12. }

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.addOnVideoViewStateChangeListener(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

removeOnVideoViewStateChangeListener

移除状态监听

示例代码

  1. var dkplayer = api.require('dkplayer');
  2. dkplayer.removeOnVideoViewStateChangeListener();