155 votes

Accès à la caméra via un navigateur

Nous sommes en train de créer un site web HTML5 pour mobile et nous avons besoin d'avoir un accès à la caméra par le navigateur web sans être une application native. Nous avons du mal à faire fonctionner cela sous iOS. Quelqu'un connaît-il une solution à ce problème ?

129voto

Xeroxoid Points 686

Vous pouvez essayer ceci :

<input type="file" capture="camera" accept="image/*" id="cameraInput" name="cameraInput">

mais il doit être sous iOS 6+. pour travailler. Vous obtiendrez un dialogue agréable qui vous permettra de choisir entre prendre une photo ou en télécharger une depuis votre album.

Screenhot

Un exemple peut être trouvé ici : Capture des données de la caméra/de l'image sans PhoneGap

6 votes

C'est AWESOME sur Android aussi !

1 votes

Belle démo pour le téléchargement vers un serveur. Quelqu'un sait-il comment la modifier pour enregistrer l'image dans un album local sur l'appareil ?

2 votes

Le seul problème est que, au moins sur iphone (ios 7.0.4), pour le moment, il crée une image temporaire nommée toujours 'image.jpg' . Ainsi, si vous téléchargez plusieurs images dans le même formulaire, elles s'écrasent les unes les autres en raison du même nom, à moins que vous ne fassiez quelque chose pour les renommer, soyez prudent !

26voto

user295691 Points 2156

Dans iOS6, Apple prend en charge cette fonction par le biais de la fonction <input type="file"> étiquette. Je n'ai pas trouvé de lien utile dans la documentation pour les développeurs d'Apple, mais il existe un exemple aquí .

Il semble que les superpositions et les fonctionnalités plus avancées ne soient pas encore disponibles, mais cela devrait convenir à de nombreux cas d'utilisation.

EDIT : Le W3C dispose d'une spécification dont iOS6 Safari semble mettre en œuvre un sous-ensemble. Le site capture est notamment absent.

10voto

siniradam Points 523

Je pense que celui-là fonctionne. Enregistrement d'une vidéo ou d'un audio ;

<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">

ou (nouvelle méthode)

<device type="media" onchange="update(this.data)"></device>
<video autoplay></video>
<script>
  function update(stream) {
    document.querySelector('video').src = stream.url;
  }
</script>

Si ce n'est pas le cas, cela fonctionnera probablement sur ios6, plus de détails peuvent être trouvés à l'adresse suivante obtenir les médias des utilisateurs

4voto

rakensi Points 369

Le site Picup est un moyen de prendre des photos à partir d'une page HTML5 et de les télécharger sur votre serveur. Cela nécessite un peu de programmation supplémentaire sur le serveur, mais en dehors de PhoneGap, je n'ai pas trouvé d'autre moyen.

5 votes

Dans iOS8, vous n'avez plus besoin de Picup. HTML5 supporte <input type="file" accept="image/*" id="capture" capture="camera">. Vérifié dans Safari et Chrome.

-1voto

DarcyThomas Points 352

Il arrive en HTML5. Il existe un support expérimental dans Chrome et Opera. (A ma connaissance, au moment où j'écris ces lignes).

Voir ici pour une démo : http://www.html5camera.com/ [Je n'ai pas d'iPhone, quelqu'un peut-il commenter ce que vous obtenez sur le site ci-dessus ?]

A défaut, la réponse de @SoFLy peut être votre meilleure chance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X