2016-11-10 2 views
1

Я работал над фотографированием с моей камеры, и все кажется хорошим, я использую образец Camera2Basic, этот код только от задней камеры, поэтому я добавил кнопку для переключения между 2 таких камеры:Android: Переключение камеры2 между задней и передней камерой

Булевая облицовкаCamera = true; // инициализация

onClick() { 
    facingCamera = !facingCamera; 
    closeCamera(); 
    openCamera(mTextureView.getWidth(), mTextureView.getHeight()); 
} 

И я изменил метода setUpCameraOutputs следующий код:

if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) { 
    continue; 
} 

Для

if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT && !facingCamera 
|| facing != null && facing == CameraCharacteristics.LENS_FACING_BACK && facingCamera) { 
    continue; 
} 

Эта работа отлично подходит для Nexus 4, но для моего LG-D802 не (onConfigureFailed вызывается каждый раз, когда я пытаюсь изменить камеру)

Как исправить это правильно, чтобы он работал нормально на всех устройствах?

ответ

2

Вы проверили, дает ли CameraManager 2 доступных камеры? Используйте cameraManager.getCameraIdList(), чтобы проверить его. Кроме того, помните, чтобы получить правильные размеры предварительного просмотра для каждой камеры с помощью CameraCharacteristics:

StreamConfigurationMap rearMap = rearCameraCharacteristics.get(
     CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); 
StreamConfigurationMap frontMap = frontCameraCharacteristics.get(
     CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); 

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

+0

Спасибо за ваш ответ, я думаю, что это проблема, журнал показывает, что есть проблема с поиском соответствующего размера разрешения иногда, а иногда и предварительный просмотр растягивается. Я могу найти образец, где вы можете использовать переключатель между лицевой камерой и задней камерой, есть ли какие-либо? –

+0

im сталкиваются с той же проблемой, когда я иногда переключаю камеру на предварительный просмотр, вы нашли решение для этого? – Andrea

+0

Отличный! Я застрял в течение нескольких дней в получении правильного размера предварительного просмотра при переключении камер. Благодаря! :) – Debdeep

Смежные вопросы