Итак, в основном, у меня есть этот код,
if(mCamera.getParameters().getMaxNumDetectedFaces()==0)
{
System.out.println("Face detection not avaliable");
}
else
{
System.out.println("Max faces: " + Integer.toString(mCamera.getParameters().getMaxNumDetectedFaces()));
}
mCamera.setFaceDetectionListener(new FaceDetectionListener() {
@Override
public void onFaceDetection(Face[] faces, Camera camera) {
// TODO Auto-generated method stub
System.out.println("Face detection callback called." + Integer.toString(faces.length));
}
});
После вызова mCamera.startFaceDetection();
вызывается обратный вызов, все работает нормально. Однако, если я меняю камеры, тот же код приводит к тому, что обратный вызов никогда не вызывается. getMaxNumDetectedFaces
, возвращает 35 для обеих камер, поэтому я предполагаю, что он поддерживается на передней камере. Я могу менять камеру назад и вперед, каждый раз называя этот код, и он будет работать для задней камеры, но не для фронтальной.
Есть ли что-нибудь еще, что я могу сделать неправильно?