2013-07-05 3 views
0

Я этой ссылке http://www.vogella.com/articles/AndroidCamera/article.html#tutorial_cameraapiзахват фото с помощью передней камеры

только я изменил cameraId = findFrontFacingCamera(); line to cameraId = findBackFacingCamera();

и написать метод, как это:

private int findBackFacingCamera() { 
    int cameraId = -1; 
    // Search for the back facing camera 
    int numberOfCameras = Camera.getNumberOfCameras(); 
    for (int i = 0; i < numberOfCameras; i++) { 
     CameraInfo info = new CameraInfo(); 
     Camera.getCameraInfo(i, info); 
     if (info.facing == CameraInfo.CAMERA_FACING_BACK) { 
     Log.d(DEBUG_TAG, "back Camera found"); 
     cameraId = i; 
     break; 
     } 
    } 
    return cameraId; 
    } 

И изменить этот линию camera.takePicture (NULL, NULL, новый PhotoHandler (getApplicationContext()));

в

try { 
     camera.takePicture(null, null, new PhotoHandler(getApplicationContext())); 
    } catch (Throwable e) { 
     Log.d("error",""+e); 
    } 

Я ничего не изменилось

устройства я проверка на Galaxy Fit

Давать ошибку

07-05 07:09:06.159: D/error(26994): java.lang.NullPointerException 
+0

у вас есть инициализированная камера? пожалуйста, дайте больше кода –

+0

http://www.vogella.com/articles/AndroidCamera/article.html#tutorial_cameraapi см. этот код статьи тот же самый, только я имел изменение выше. – Anirban

+0

делает ваш лог-шоу «назад Камера найдена»? –

ответ

1

Вы должны использовать это разрешение для передней камеры

<uses-feature android:name="android.hardware.camera.front" android:required="false" />

Взгляните на this вопрос.

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