Запись всего экрана, включая предварительный просмотр фронтальной камеры
Я написал небольшую игру. В нем реализован предварительный просмотр передней камеры. Я хочу иметь возможность записывать весь экран в формате mp4. Как бы я это сделал? Кто-нибудь знает хороший учебник для записи всего экрана в mp4 (в коде, так что не только скриншоты.. Я хочу, чтобы пользователь мог сделать запись, играя в игру).
2 ответа:
Приложениям не разрешается захватывать содержимое экрана (см.это обсуждение ).
[5]} [L]приложения etting захватывают содержимое экрана либерально-это серьезный риск для безопасности, поэтому платформа предотвращает его (создание моментального снимка требует либо прямых физических манипуляций со стороны пользователя, либо использования инструмента отладки).И как @CommonsWare упоминал в своем комментарии, вы не можете использовать метод
getDrawingCache
Ни для захватаBitmap
изView
, Если вы используетеSurfaceView
или один из его потомков (например,VideoView
). Подробнее об этом здесь .
Действительно, как заявил @Michael, прямой доступ к механизмам скриншота и буфера кадров невозможен. Это не означает, что вам полностью не повезло, хотя, если вы хотите записывать игровые сессии. Это просто больше работы.
Если вы создадите идеальную запись различных действий в вашей игре, сохраните эту запись. Затем вы можете создать службу (веб-службу, локальную службу, любую другую), которая принимает запись в качестве входных данных. По сути, он бы переиграл игру. Ты бы тогда ... реконструируйте игру таким образом, чтобы вы могли сгенерировать видео.
Вы также можете воспроизвести в эмуляторе Android и создать из него видео. Не так легко развертывается, но это зависит от того, что вы хотите с ним сделать.