Cámara frontal Android Camera2
Hola, recientemente me di cuenta de que la cámara API está en desuso y encontré la nueva API llamada Camera2.
He leído la documentación pero realmente no entiendo eso.
- No se puede llamar a void android.view.View.setElevation (float) en un objeto nulo en lapism / SearchView
- DhcpInfo no responde la máscara de red en Android Lolipop
- Evitar el diálogo de usuario cuando se enlaza con el dispositivo BLE utilizando PIN en la API más reciente (Lollipop)
- La dosis de Genymotion no comienza con la API 21
- RecyclerView enfrenta pequeños problemas
Así que mi pregunta es ¿cómo puedo previsualizar la cámara frontal con la nueva cámara api?
Sólo una vista previa, no la grabación.
Quiero usar esta nueva API porque en el futuro estoy adivinando que la actual Cámara API será reemplazada y dejará de funcionar.
Así que quiero estar preparado y sólo sentarse y ver mientras todo el mundo entra en pánico. Xd
- Cómo obtener la posición en onCreateViewHolder
- AlarmManager no funciona en dispositivos Samsung en Lollipop
- Android: barra de herramientas y barra de estado como objetos compartidos con cambios de contenido
- No se puede descifrar el archivo cifrado en android lollipop
- ¿Es posible mover una notificación de heads-up a la barra de estado?
- OnShowFileChooser () de android webview funciona sólo una vez
- Transición de elementos compartidos con actividad de diálogo
- Título de la barra de herramientas con vista personalizada
En primer lugar averiguar el id de su cámara frontal (si tiene, por supuesto)
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); try { return manager.getCameraIdList(); } catch (CameraAccessException e) { return null; }
Que encontrar caraCamera como este:
CameraCharacteristics cameraCharacteristics = getCameraCharacteristics(cameraId); if (cameraCharacteristics == null) throw new NullPointerException("No camera with id " + cameraId); return cameraCharacteristics.get(CameraCharacteristics.LENS_FACING) == CameraCharacteristics.LENS_FACING_FRONT;
Después de todo, usted tiene que fijar la cámara con ese id:
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE); try { characteristics = manager.getCameraCharacteristics(mCameraId); } catch (CameraAccessException e) { e.printStackTrace(); }
Tenga en cuenta, estos son sólo unos consejos para hacer lo que quieres hacer. Para obtener detalles sobre cómo iniciar una vista previa, y no sólo, consulte: http://developer.android.com/samples/Camera2Basic/index.html
0 para la parte posterior 1 para el frente
Para la cámara trasera , tenemos que hacerlo dentro del método openCamera :
CameraId = manager.getCameraIdList () [0];
Para la cámara frente a frente , tenemos que añadir esta línea debajo del método openCamera :
CameraId = manager.getCameraIdList () [1];
He añadido todos los códigos y capturas de pantalla aquí