floatVideo

来自于:开发者立即使用

hasPermission openSettings setWinAttr show hide getCurrentPosition

概述

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

hasPermission

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

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

floatVideo - 图1

hasPermission()

示例代码

  1. var floatVideo = api.require('floatVideo');
  2. var p = floatVideo.hasPermission();

可用性

Android系统

openSettings

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

floatVideo - 图2

openSettings({params})

params

pkg:

  • 类型:字符串
  • 描述:(可选项)APP的包名,比如com.apicloud.app.book,大多数情况下都是设置自己APP的包名,所以不必带这个参数,用默认的就好。
  • 默认值:当前应用包名。

示例代码

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

可用性

Android系统

setWinAttr

设置悬浮窗口属性。

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

params

x:

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

y:

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

w:

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

h:

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

url:

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

currentPosition:

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

clickBack:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. code: -1 , //失败=-1,成功=0
  3. msg : "" //提示信息
  4. }

示例代码

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

可用性

Android系统

show

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

show(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. code: -1 , //失败=-1,成功=0
  3. msg : "" //提示信息
  4. }

示例代码

  1. var floatVideo = api.require('floatVideo');
  2. //floatVideo.show(); //简写
  3. floatVideo.show(function(ret){
  4. alert(JSON.stringify(ret));
  5. });

可用性

Android系统

hide

隐藏窗口。

hide()

示例代码

  1. var floatVideo = api.require('floatVideo');
  2. floatVideo.hide();

可用性

Android系统

getCurrentPosition

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

getCurrentPosition()

示例代码

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

可用性

Android系统