Запись экрана, когда мое приложение для iOS находится в фоновом режиме с ReplayKit - PullRequest
0 голосов
/ 01 февраля 2019

Я пробовал Broadcast Extension.Я добавил это расширение через цель.Но я не знаю, как записывать, когда мое приложение находится в фоновом режиме.

Два способа я пытаюсь записать:

Через Центр управления: Я вижуЦелевое имя моего приложения, после выбора этого имени, затем я начинаю запись, нажимая Start Broadcast, затем нажимая Stop Record, но мое видео не сохраняется ни в Camera Roll, ни в моем приложении.Ref Link: ReplayKit RPSystemBroadcastPickerView не отображает предпочитаемое расширение

Через мое приложение: После нажатия кнопки Пуск запись начинается, я пытаюсь записать фон из своего приложения,нажатием кнопки домой, очевидно, запись была остановлена.Ref Link: https://medium.com/@giridharvc7/replaykit-screen-recording-8ee9a61dd762.

1 Ответ

0 голосов
/ 04 февраля 2019

Нет "прямого" способа хранить видео в вашем приложении, пока оно находится в фоновом режиме.ReplayKit версии 2 позволяет вам получить фрагменты буфера видео-примера в расширениях приложения, которые называются «Broadcast Upload Extension».Когда вы говорите «Через Центр управления», это означает, что вы запускаете трансляцию (не запись), и в то же время iOS находит ваше расширение приложения (не ваше приложение) и запускает его, а затем начинает отправлять буферы семплов видео на расширение.На этом этапе вам нужно решить, что делать с этими буферами.

Я могу предложить вам два решения:

  • вы можете попробовать перенести буферы на сервер (и загрузить видео, когда будет запущено основное приложение)
  • вы можетепопробуйте сохранить буферы в файл, используя группы приложений (чтобы поделиться этими данными с основным приложением), вы можете найти пример здесь .

Но вы должны знать, что широковещательное расширение имеетбыл разработан для передачи в буфер, а не для хранения или повторного рендеринга, сжатия или перекодирования буферов.Расширение имеет множество ограничений, основанных на времени процессора и использовании памяти (± 50 МБ), вы можете попытаться сделать что-нибудь там, но если это «тяжелая» операция, iOS закроет расширение.

...