2013-03-09 2 views
4

Я написал небольшую игру. Он имеет фронтальный просмотр камеры. Я хочу записать весь экран на mp4. Как мне это сделать? Любой человек знает хороший учебник для записи всего экрана на mp4 (в коде, а не только на скриншотах. Я хочу, чтобы пользователь сделал запись во время игры).Запись всего экрана, включая предварительный просмотр камеры

+0

Сомневаюсь, что это возможно. AFAIK, вы не можете читать из «SurfaceView». – CommonsWare

ответ

0

Приложения не могут захватывать содержимое экрана (см. this discussion).

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

И как @CommonsWare упомянул в своем комментарии, вы не можете использовать метод getDrawingCache либо захватить Bitmap из View, если вы используете SurfaceView или один из его детей (например, VideoView). Подробнее об этом here.

1

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

Если вы создадите идеальную запись различных действий в своей игре, сохраните эту запись. Затем вы можете создать сервис (веб-сервис, локальный, любой), который принимает запись как входной. По сути, это повторит игру. Затем вы восстановили игру таким образом, чтобы вы могли создавать видео.

Вы также можете воспроизвести в эмуляторе Android и создать видеоролик из этого. Не так легко развертывать, но это зависит от того, что вы хотите с ним делать.

+0

ничего себе! +1 за изобретательность! :) –

Смежные вопросы