1

我有一个使用带有麦克风流的媒体记录器的应用程序。一切正常,只有一个例外。当我关闭显示器时,它会停止录制,当我重新打开它时,它会继续录制。就好像它正在暂停流,直到我再次解锁手机。

即使显示屏关闭,我也希望能够继续录制。我在firefoxOs 1.3上。

4

1 回答 1

0

可以使用 PowerManagement API 关闭屏幕。

首先,可以使用以下代码简单地关闭屏幕:

navigator.mozPower.screenEnabled = false

这将关闭屏幕,这也意味着屏幕不会响应屏幕触摸。我还不确定我们如何打开屏幕。不过,可以观察物理按钮事件。

另一种方法是完全关闭背光,它具有相同的效果,但触摸屏仍在响应触摸事件。

navigator.mozPower.screenBrightness = 0

screen.automatic-brightness唯一的问题是,如果您想确保背光不会不断被修改,您需要访问设置 API 以禁用该设置。

var lock = navigator.mozSettings.createLock()

var req = lock.get('screen.automatic-brightness')
req.onsuccess = function () {
  if (lock.result['screen.automatic-brightness']) {
    lock.set({'screen.automatic-brightness': false})
    navigator.mozPower.screenBrightness = 0
  }
}

这个解决方案最大的问题是应用程序需要添加两个权限:设置和电源。

老实说,对于可以修改手机范围设置的麦克风应用程序来说,这听起来并不可怕,它还可以访问电源管理并重新启动或关闭手机以及恢复出厂设置。我想,Mozilla 可以使用更好的 API 来减少实现这一目标所需的权限。此外,这些 API 仅适用于经过认证的应用程序,这意味着不可能将此类应用程序推向任何市场。

于 2015-08-25T20:16:03.583 回答