Мне нужно получить только данные предварительного просмотра камеры, но не видимый предварительный просмотр. Поскольку я делаю все это в сервисе, мне пришлось создать фиктивный SurfaceView, который работает очень хорошо.
Я использовал код из этого ответа: https://stackoverflow.com/a/10268650/1395697
Однако с TYPE_SYSTEM_OVERLAY
это не сработало. Он был невидим, но данные предварительного просмотра не были получены (в onPreviewFrame()
). Когда я изменяю этот аргумент на 0, я получаю данные предварительного просмотра, но SurfaceView
виден.
Знаете ли вы другой способ сделать это?
Теперь я сделал видимый SurfaceView
с шириной и высотой 1, а затем создал наложение ImageView
с определенным цветом, чтобы вы не видели изменение цвета SurfaceView
. Но это совсем не опрятно, и я действительно хотел бы сделать это немного лучше.