【问题标题】:MediaRecorder stops when screen is off屏幕关闭时 MediaRecorder 停止
【发布时间】:2023-03-12 02:24:01
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多