Подтвердить что ты не робот

Как записать видео с помощью предварительного просмотра камеры в TextureView

Я играю с TextureView на некоторых устройствах Android 4.0. Например, я попытался разработать простое приложение, которое может записывать видео и использовать TextureView для его предварительного просмотра. Однако, насколько я читаю документы API Android, стандартный MediaRecorder требует определенной поверхности для выполнения видеозаписи, но, с другой стороны, TextureView больше не имеет собственной поверхности, поэтому существует несовместимость между TextureView и MediaRecorder.

MediaRecorder.setPreviewDisplay

TextureView

Кто-нибудь знает, как записывать видео с помощью стандартного MediaRecorder с TextureView в качестве предварительного просмотра камеры? Или есть способ записи видео, кроме MediaRecorder?

Большое спасибо.

4b9b3361

Ответ 1

В соответствии с этой проблемой, на желе Bean и выше, вы просто не вызываете setPreviewDisplay(), а MediaRecorder будет автоматически использовать предварительный просмотр, используемый Camera. Я могу подтвердить, что не вызов setPreviewDisplay() действительно работает, по крайней мере, на Android 4.2, когда превью Camera установлено как TextureView. Я еще не пробовал это на старых версиях Android, чтобы подтвердить, что работает 4.1.

Это немного отстает, поскольку устройства Android 3.0-4.0, возможно, не могут использовать TextureView для предварительного просмотра.