2012-07-10 14 views
22

Sé que esta pregunta se ha hecho muchas veces antes. Lo había buscado hace más de un año, pero no encontré nada, por lo que volví a publicar esta pregunta para ver si había nuevos pensamientos/enfoques o hacks.Uso de cámaras frontal y posterior simultáneamente android

Quiero ser capaz de capturar video de ambas cámaras (frontal y posterior) en un dispositivo Android.

Mi único pensamiento a partir de ahora es cómo cambiar entre el frente y la parte posterior cada 0.1 segundos, sin embargo, nunca he podido codificar esto. Cualquier ayuda de alguien sobre esto, por favor.

Otro pensamiento más: los videos generalmente se capturan a 15 o 30 fotogramas por segundo. Supongamos que está a 30 fotogramas por segundo. ¿Qué pasa si hay una manera de alternar estos marcos en la parte delantera y trasera, entonces podríamos tener 15 cuadros por segundo de frente y 15 cuadros por segundo de video posterior. es posible? Si es así, ¿entonces cómo? Por favor recomiende. ¿Qué pasa con el audio? Tal vez podríamos restringir el audio a solo una de las grabaciones de video (frontal o posterior).

+0

¿Tiene este problema? -> http://stackoverflow.com/questions/7215230 –

+0

El cambio entre cámaras lleva demasiado tiempo para que esto funcione. El uso simultáneo de ambas cámaras es imposible por diseño de CameraService en el momento –

+0

No llegaría tan lejos como "imposible" - Esperaría que en al menos algunos dispositivos se puede evitar la clase 'Camera' y escribir código nativo para hablar con los controladores del dispositivo. Por supuesto, esta es solo una opción para un fabricante de dispositivos que desee escribir un código específico para el dispositivo. –

Respuesta

5

No puede utilizar ambos simultáneamente y cambiar entre cada cámara cada 0.1 segundos no va a funcionar bien. Adquirir y soltar el objeto de la cámara es bastante caro y esto simplemente no va a funcionar bien.

+0

Gracias por su respuesta, pero ¿hay algún trabajo en torno a un atall .. – axs

+1

No parece ser así. (Es por eso que estoy en stackoverflow en este momento.) 'Release()'/'open()' está tomando 900 a 1000 msecs * por * cámara en un Galaxy Nexus, aunque otros hilos muestran que ese tiempo depende del hardware. 'unlock()'/'open()' proporciona la misma excepción 'only one Camera at time' que 'release()'/'open()'. –

+0

Gracias. Espero que haya alguna manera de que esto se pueda hacer en algún momento en el futuro cercano. – axs

6

Es es posible pero hasta el momento, solo con el próximo Samsung Galaxy S4.

Tiene un dual-camera feature pero quién sabe si depende del hardware o una modificación de software de Samsung, en este momento.

Dual Camera - See both sides of the story.

Es de esperar que puede ser portado a otros teléfonos, si es sólo software.

8

Es posible en el HTC m8, el OnePlusOne y el Motorola Nexus 6, por lo que he probado. Muchos más teléfonos podrían ser compatibles, pero solo tienes que probar en los teléfonos y ver si la aplicación falla o no.

Crea un objeto de cámara para cada cámara disponible y cada una se conecta a la devolución de llamada previa.

-edit- Hasta ahora he encontrado que esto funciona en teléfonos basados ​​en Snapdragon 801. No sé si todos lo hacen o qué otros SOC lo soportan, pero eso es lo que he encontrado hasta ahora.

+1

¿Tiene algún código de muestra por casualidad (Github?) Una vez que se han unido a la devolución de llamada previa, ¿puede grabar ambos simultáneamente? – peoplesparkresident

+4

Lo siento, pero no creo que mi trabajo me permita publicar el código :) Tal vez voy a poner un tutorial juntos en un punto, porque he tenido que sacar un montón de casi-correcto-pero-no-realmente información en conjunto y resolver cómo hacerlo bien. En cuanto a la grabación de ambas cámaras, sí puede, pero debe agregar una marca para ver qué cámara está llamando a la devolución de llamada. Ahora que lo pienso, es posible que incluso le puedas dar a cada uno su propia devolución de llamada, pero eso podría agregar una gran cantidad de gastos generales y, por lo tanto, podría no valer la pena. – MacD

+1

Gracias. Si organizas un tutorial que sería realmente útil, o incluso unos pocos enlaces a los recursos "casi correctos pero no reales" que usaste y luego unos pocos consejos, eso sería muy apreciado. – peoplesparkresident

Cuestiones relacionadas