MediaRecorder останавливается при выключенном экране

У меня есть приложение, которое использует медиа-рекордер с микрофонным потоком. Все отлично работает за одним исключением. Когда я выключаю дисплей, он останавливает запись, а когда я снова включаю его, продолжаю запись. Это как если бы он приостанавливал поток, пока я снова не разблокирую телефон.

Я хотел бы иметь возможность продолжать запись, даже когда дисплей выключен. Я на FirefoxOs 1.3.

1 ответ

Можно отключить экран с помощью API PowerManagement.

Во-первых, можно просто выключить экран, используя этот код:

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 доступны только для сертифицированных приложений, а это означает, что невозможно продвинуть такое приложение ни на одном рынке.

Другие вопросы по тегам