2010-05-21 18 views
29

Deseo simular la cámara en el emulador de Android utilizando la cámara web. Básicamente solo necesito tomar fotos con la cámara en el emulador (la vista previa en vivo no es necesaria, es decir, si es más fácil)Uso de la cámara en el emulador de Android

Seguí el tutorial here que es el único que pude encontrar que estaba cerca de mis requisitos

Pero muchas de las bibliotecas utilizadas en ese tutorial (como android.hardware.CameraDevice) no están disponibles en el sdk actual y se reemplazan por nuevas bibliotecas (como android.hardware.camera).

Cualquier ayuda sobre cómo hacer esto en el presente sdk (2.1 o 2.2) sería muy apreciada.

Respuesta

13

Actualización: el emulador ICS es compatible con la cámara.

+0

¿Puedes completar tu respuesta con un código de muestra? –

+1

@BarryBrown revise este http://stackoverflow.com/a/10814841/534790 – Ahsan

+2

Toma de fotografías funciona (con un intento), pero no hay vista previa en vivo (el Camera.open() no funciona). – Nux

2

No hay forma de "simular la cámara en el emulador de Android utilizando la cámara web", excepto modificando extensamente el firmware de Android. ¡Lo siento!

+0

El tutorial de Tom Gibara dice haber logrado. http://www.tomgibara.com/android/camera-source Sin embargo, el código está un poco desactualizado. – primpap

+5

No, su solución no "simula la cámara en el emulador de Android usando la cámara web". Su solución implica una abstracción de la cámara, lo que le permite conectarse a la cámara de hardware u otras fuentes de imágenes. Si está dispuesto a comprometerse con una capa de abstracción en su código de producción, entonces su solución es buena (pero antigua). Sin embargo, no le permite trabajar solo con la clase 'Camera' y de alguna manera obtener mágicamente sus datos de una cámara web. Y, como usted señala, la clase 'Camera' se ha modificado significativamente desde que escribió su código, por lo que su solución necesitaría algunas actualizaciones. – CommonsWare

+0

Hmm .. Parece que tengo que renunciar a esta idea. Triste que incluso 2.2 sdk no incluye una funcionalidad para esto. – primpap

0

Parece que no, pero Android reconoce una cámara web como dispositivo. Cada vez que ejecuto el emulador, se enciende la luz activa de mi cámara web.

1

Actualización de la respuesta de @ param.

ICS emulator admite la cámara.

Encontré Simple Android Photo Capture, que admite la cámara web en el emulador de Android.

+2

El enlace se cayó. – BartoszKP

3

Algunos elaboración, con la esperanza de aclarar lo que se ha dicho:

Como se indicó anteriormente, Webcams están soportados de forma nativa en el SDK actual, pero sólo en las versiones de Android recientes (4.0 y superiores)

La detección de cámara web es automática cuando está presente. En la versión 4.0.3, la cámara se predetermina a la cámara frontal, por lo que muchas aplicaciones (especialmente aplicaciones anteriores a la 2.3, que solo pueden capturar la cámara predeterminada, es decir, la que está mirando hacia atrás) seguirán mostrándole el antiguo checkerbox con -moving-square-stand-in en su lugar.

Creo que algo más de información está disponible en el siguiente mensaje: Camera on Android Eclipse emulator:

O al menos, esa es la mayoría de la información que he sido capaz de encontrar - aparte de la breve, declaraciones poco informativas en las notas de la versión las herramientas SDK.

30

En su configuración AVD avanzada, debe poder configurar las cámaras frontal y posterior en Webcam() o Emulated.

enter image description here

Cuestiones relacionadas