floatVideo

hasPermission setWinAttr hide

概述

悬浮窗口播放视频,能在手机桌面上播放视频,一边看视频一边玩别的。因为播放器用的是系统自带的MediaPlayer播放器,格式支持并不是很多,请自行测试和斟酌。视频播放完会关闭悬浮窗口。

hasPermission

是否有显示悬浮窗口的权限。(同步方法)返回true有权限,返回false没有权限。

用Meizu Metal测试时(不排除其它手机也会这样),虽然hasPermission返回的是false,可以显示,但是不能移动。 只有hasPermission为true的时候,不仅可以显示,还可以移动。 v1.0.1版本在右上角加了关闭按钮,只有开通了“悬浮窗口”权限才会显示,没开通权限不会显示关闭按钮。

hasPermission()

可用性

Android系统

openSettings

打开安卓”设置”(Settings)界面

floatVideo - 图1

openSettings({params})

params

  • 类型:字符串
  • 默认值:当前应用包名。

示例代码

  1. floatVideo.openSettings();
  2. /*
  3. floatVideo.openSettings({
  4. "pkg": "com.tencent.mm" //微信
  5. });
  6. */

可用性

Android系统

setWinAttr

设置悬浮窗口属性。

setWinAttr({params}, callback(ret));

x:

  • 类型:数字
  • 描述:(可选项)x坐标。
  • 默认值:0

y:

  • 类型:数字
  • 描述:(可选项)y坐标。
  • 默认值:0

w:

  • 类型:数字
  • 描述:(可选项)窗口宽度。
  • 默认值:320

h:

  • 类型:数字
  • 描述:(可选项)窗口高度。
  • 默认值:300

url:

  • 类型:字符串
  • 描述:(必填)播放视频的url,支持网络和本地,支持m3u8。

currentPosition:

  • 类型:数字
  • 描述:(可选项)从这个位置开始播。(毫秒)

clickBack:

  • 类型:布尔
  • 描述:(可选项)是否开启点击返回到App。(个人建议关闭,有时候只是想移动窗口,却被误判为点击事件了。)
  • 默认值:false

callback(ret)

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var floatVideo = api.require('floatVideo');
  2. x: 10,
  3. y: 10,
  4. w: 200,
  5. h: 200,
  6. url: "http://cache.utovr.com/201508270528174780.m3u8",
  7. currentPosition: 60000,
  8. clickBack: false
  9. alert(JSON.stringify(ret));
  10. });

可用性

Android系统

show

显示窗口。(显示之前至少调用一次setWinAttr来设置参数)

show(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. var floatVideo = api.require('floatVideo');
  2. //floatVideo.show(); //简写
  3. floatVideo.show(function(ret){
  4. alert(JSON.stringify(ret));
  5. });

可用性

Android系统

hide

隐藏窗口。

hide()

示例代码

可用性

Android系统

getCurrentPosition

获取视频播放位置。(同步方法)

getCurrentPosition()

示例代码

  1. var p = floatVideo.getCurrentPosition();