Android - Как мне захватить и зациклить видео на экране?

Мне было интересно, если кто-нибудь знает учебник, объясняющий, как захватить видео с камеры на устройстве Android, а затем отобразить видео в реальном времени на экране?

Я посмотрел MediaRecorder, MediaPlayer, Videoview, но все они, кажется, обеспокоены записью аудио / видео в файл или воспроизведением аудио / видео из файла или URL.

Я просто хочу иметь возможность брать данные с того, что видит камера, и отображать их на экране.

1 ответ

Решение

Я не совсем уверен, как бы вы записали это и зациклили его с одной вещью. Но я думаю, что один из способов сделать это - записать его с помощью MediaRecorder на одной стороне и просто показать предварительный просмотр камеры на экране. Для этого вам нужно создать класс, который расширяет SurfaceView. В методе SurfaceCreated вы просто открываете новый объект Camera и устанавливаете SurfaceView как PreviewDisplay для камеры с помощью метода setPreviewDisplay. В методе SurfaceChanged вы можете выполнить некоторую настройку разрешения камеры размера и фактически запустить предварительный просмотр камеры. Вероятно, это также место, где вы хотите начать запись. А в методе SurfaceDestroyed вы можете снова остановить предварительный просмотр.
Записанный файл не будет воспроизводиться в реальном времени, но будет отображаться так же, как и записываемый, если только вы не измените видео каким-либо образом. Я не уверен, что это полезно, я использую предварительный просмотр камеры для другой цели, но, возможно, это что-то посмотреть. По крайней мере, я бы попытался сделать это таким образом, если бы это было моей задачей. Дайте мне знать, если это сработало:)

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