html5 - camara - ¿Cómo acceder a la cámara de un móvil desde una aplicación web?
javascript camera (11)
AppMobi HTML5 SDK alguna vez prometió acceso a la funcionalidad del dispositivo nativo, incluida la cámara, desde una aplicación basada en HTML5, pero ya no es propiedad de Google. En cambio, pruebe las respuestas basadas en HTML5 en esta publicación .
En mi aplicación web (no en la aplicación nativa) para móviles, quiero tomar una foto y subirla, pero no quiero usar Adobe Flash. ¿Hay alguna manera de hacer esto?
Cabe señalar que se han implementado características de seguridad que requieren que la aplicación se ejecute localmente en localhost, o mediante SSL para que GetUserMedia () funcione.
¡Descubrí esto al probar varias de las demos disponibles y me decepcionó cuando no funcionaron! Ver: Nuevas restricciones de seguridad
En iPhone iOS6 y desde Android ICS en adelante, HTML5 tiene la siguiente etiqueta que le permite tomar fotos desde su dispositivo:
<input type="file" accept="image/*" capture="camera">
Capture
puede tomar valores como la cámara, la videocámara y el audio.
Creo que esta etiqueta definitivamente no funcionará en iOS5, no estoy seguro de ello.
Hoy en día al menos con Android es relativamente fácil. Simplemente use la etiqueta de entrada de archivo normal y cuando el usuario haga clic en ella, el teléfono le preguntará si el usuario desea usar la cámara (o los administradores de archivos, etc.) para cargar un archivo. Solo tome una foto con la cámara y se agregará y cargará automáticamente.
No tengo idea de iphone. Tal vez alguien pueda iluminar sobre eso. EDITAR: Iphone funciona de manera similar.
Muestra de la etiqueta de entrada:
<input type="file" accept="image/*" capture="camera">
No conozco ninguna forma de acceder a la cámara de un teléfono móvil desde el navegador web sin algún mecanismo adicional (es decir, Flash o algún tipo de contenedor que permita el acceso a la API de hardware)
Para el último, eche un vistazo a PhoneGap: http://docs.phonegap.com/phonegap_camera_camera.md.html
Con esto, debería poder acceder a la cámara al menos en dispositivos basados en iOS y Android.
No creo que puedas, hay una API borrador del W3C para obtener audio o video, pero aún no hay implementación en ninguno de los sistemas operativos móviles más importantes.
Segundo mejor La única opción es seguir la sugerencia de Dennis de usar PhoneGap. Esto significará que necesita crear una aplicación nativa y agregarla a la tienda / mercado de aplicaciones móviles.
Puede usar WEBRTC pero lamentablemente no es compatible con todos los navegadores web. A CONTINUACIÓN SE ENCUENTRA EL ENLACE PARA MOSTRAR QUE BROWSERS lo admite http://caniuse.com/stream
Y este enlace le da una idea de cómo puede acceder a él (código de muestra). html5rocks.com/en/tutorials/getusermedia/intro
Safari y Chrome en iOS 6+ y Android 2.2+ admiten la captura de medios HTML, que le permite tomar fotos con la cámara de su dispositivo o seleccionar una existente:
<input type="file" accept="image/*">
Así es como funciona en iOS 10:
Android 3.0+ y Safari en iOS10.3 + también admiten el atributo de capture
que se usa para saltar directamente a la cámara.
<input type="file" accept="image/*" capture>
capture="camera"
(String) y accept="image/*;capture=camera"
(Parameter) formaban parte de las antiguas especificaciones y fueron reemplazadas por la capture
(Boolean) de la Recomendación del candidato W3C.
Documentación de respaldo: este libro de O''Reilly 2013 y mis pruebas
Solo para actualizar esto, el estándar ahora es:
<input type="file" name="image" accept="image/*" capture="environment">
para acceder a la cámara orientada al medio ambiente (trasera), y
<input type="file" name="image" accept="image/*" capture="user">
para la cámara orientada al usuario (frontal). Para acceder al video, sustituya "nombre de video" por "imagen".
Probado en iPhone 5c, con iOS 10.3.3, firmware 760, funciona bien.
bueno, hay nuevas funciones HTML5 para acceder a la cámara del dispositivo nativo: "getUserMedia API"
NOTA: HTML5 puede manejar la captura de fotos desde una página web en dispositivos Android (al menos en las últimas versiones, ejecutado por Honeycomb OS, pero no puede manejarlo en iPhones, pero iOS 6).
getUserMedia usar getUserMedia para acceder a la cámara.
Este tutorial describe los conceptos básicos para acceder a la cámara de un dispositivo desde el navegador: https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf
Nota: Esto funciona en la mayoría de los dispositivos Android, y en iOS solo en Safari.