Cómo utilizar la cámara frontal frente en el Samsung Galaxy S
-
27-09-2019 - |
Pregunta
He intentado varias respuestas que he encontrado en la web, como por ejemplo:
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
mCamera.setParameters(parameters);
o
mMediaRecorder.setVideoSource(2);
Pero no funciona. También he establecer permisos en el archivo de manifiesto:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
Me estoy perdiendo de algo? He buscado Stackoverflow y sé que esto se ha hecho antes, pero no parece haber una solución confirmada en esto, cualquier tipo de ayuda sería muy apreciada.
Nota: Estoy usando Galaxy S en la plataforma 2.1
Solución
De todos modos después de algunos ensayos y errores, lo he descubierto cómo hacerlo:
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480) this is supported front camera preview size @ Samsung Galaxy S
mCamera.setParameters(parameters);
O, si hay que usarla con MediaRecorder:
MediaRecorder mMediaRecorder = new MediaRecorder();
Camera mCamera = Camere.open();
Camera.Parameters parameters = mCamera.getParameters();
parameters.set("camera-id", 2);
parameters.setPreviewSize(640, 480); // or (800,480)
mCamera.setParameters(parameters);
mCamera.unlock(); // unlock, to give other process to access it otherwise it can't be used later
mMediaRecorder.setCamera(mCamera);
// continue with mMediaRecorder standard routines here
Si usted necesita tener un tamaño más pequeño de vista previa, se podría establecer / abajo de su escala de tamaño SurfaceView lugar.
Otros consejos
En este momento no es una API estándar para las cámaras frontales; tendrá que depender de lo que sea (si lo hay) la documentación del fabricante del hardware tiene por usar sus extensiones para acceder a la cámara de frente. Esto, por supuesto, sólo el trabajo en esos dispositivos específicos.
Nota escritura cuerdas primas como "cámara-id" es a menudo un signo bueno que haya extraviado en el bosque, al salir de la SDK oficial. :)
creo que este es un lugar tan bueno como cualquier otro para añadir algunos detalles que he trabajado a cabo.
En caso de que esté utilizando la cámara frontal en el modo de retrato y el archivo resultante sale cortado en cuadrados con bloques de color verde tirado en intentarlo invirtiendo la anchura y la altura (ambos de vista previa y grabador) y establecer el codificador de H263. ..
Esto resolvió el problema en mi Samsung Galaxy S en 2.3.3 + ...