Invisible SurfaceView для предварительного просмотра камеры

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

Я использовал код из этого ответа: https://stackoverflow.com/a/10268650/1395697

Однако с TYPE_SYSTEM_OVERLAYэто не сработало. Он был невидим, но данные предварительного просмотра не были получены (в onPreviewFrame()). Когда я изменяю этот аргумент на 0, я получаю данные предварительного просмотра, но SurfaceViewвиден.

Знаете ли вы другой способ сделать это?

Теперь я сделал видимый SurfaceViewс шириной и высотой 1, а затем создал наложение ImageViewс определенным цветом, чтобы вы не видели изменение цвета SurfaceView. Но это совсем не опрятно, и я действительно хотел бы сделать это немного лучше.

7
задан Community 23 May 2017 в 12:31
поделиться