屏幕关闭时MediaRecorder停止

时间:2015-05-01 19:24:34

标签: asp.net-web-api firefox-os web-mediarecorder

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

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

1 个答案:

答案 0 :(得分:0)

可以使用PowerManagement API关闭屏幕。

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

navigator.mozPower.screenEnabled = false

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

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

navigator.mozPower.screenBrightness = 0

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

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可以使用更好的apis来减少实现这一目标所需的权限。此外,这些API仅适用于经过认证的应用程序,这意味着无法在任何市场推出此类应用程序。