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

¿Fue útil?

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 + ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top