Android: масштабирование не влияет на данные кадра предварительного просмотра, переданные в onPreviewFrame()

Я создаю приложение камеры, которое получает доступ к кадру предварительного просмотра, реализуя

android.hardware.Camera.PreviewCallback#onPreviewFrame(byte[] data, Camera camera).

Когда я изменяю масштаб камеры, вызывая

android.hardware.Camera.Parameters#setZoom(int zoom) 

похоже, это не влияет на данные, которые я получаю в onPreviewFrame. Само отображение предварительного просмотра осуществляется, как и ожидалось.

Это происходит на LG Nexus 4.

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

Спасибо,


person OfriM    schedule 02.03.2014    source источник
comment
вы смогли найти решение для этого?   -  person JiTHiN    schedule 23.10.2015
comment
Та же проблема с Moto X 1-го поколения. Любое решение этой проблемы?   -  person PerracoLabs    schedule 02.02.2016


Ответы (1)


не совсем решение, но ... вы можете установить сцену в HDR (Camera.Parameters.setSceneMode("hdr")), и это заставит данные вести себя так, как ожидалось (но, конечно, тогда HDR включен). то, что я сделал, это обойти это и фактически обрезать данные только на Nexus 4. Я использовал метод getZoom() для определения масштабирования, а затем обрезал его соответствующим образом.

person user3260620    schedule 24.10.2015