Accesso alla telecamera tramite browser


150

Stiamo creando un sito Web HTML5 per dispositivi mobili e dobbiamo ottenere l'accesso alla videocamera tramite il browser Web senza essere un'app nativa. Abbiamo problemi a far funzionare questo in iOS. Qualcuno è a conoscenza di una soluzione per questo?

Risposte:


124

Puoi provare questo:

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

ma per funzionare deve essere iOS 6+ . Questo ti darà un bel dialogo per scegliere se scattare una foto o caricarne una dal tuo album

Screenhot

Un esempio può essere trovato qui: Acquisizione di dati di foto / foto senza PhoneGap


5
Questo è FANTASTICO anche su Android!
— Matt,

1
Bella demo per il caricamento su un server. Qualcuno sa come modificarlo per salvare l'immagine in un album locale sul dispositivo?
— K.Niemczyk,

2
L'unico problema è che, almeno su iPhone (iOS 7.0.4) almeno al momento crea un'immagine temporanea chiamata sempre 'image.jpg'. Quindi, se carichi alcune immagini nello stesso modulo, si sovrascrivono a vicenda a causa dello stesso nome, a meno che tu non faccia qualcosa per rinominarle, fai attenzione!
— aleation

@ K.Niemczyk: l'hai mai capito? in tal caso sarei interessato alla soluzione. Ho trovato questo: dev.w3.org/2009/dap/camera (vedi esempi 6-7 per l'archiviazione locale)
— lamarant

1
Brillante. Ecco un violino per chiunque voglia testare questo codice sul proprio dispositivo.
— Simon East,

33

A partire dal 2015, ora funziona e basta .

<input type="file">

Ciò richiederà all'utente il caricamento di qualsiasi file. Su iOS 8.x questo può essere un video della fotocamera, una foto della fotocamera o una foto / video dalla Libreria foto.

Caricamento foto / video / file iOS / iPhone

<input type="file" accept="image/*">

Questo è come sopra, ma limita i caricamenti alle foto solo dalla fotocamera o dalla libreria, senza video.


1
Esiste un modo per impedire agli utenti di scegliere un file dalla libreria di foto? Voglio accettare solo un'immagine appena scattata.
— Daryl,

@Daryl non su iOS. Android supporta l' captureattributo che fa proprio questo. Vedi Sintassi corretta per HTML Media Capture
— Octavian Naicu

devo chiudere questo popup Take Photo o Video e Photo Library dopo qualche tempo in cui l'utente non fa clic su di esso.
— Pritish,

sembra che le funzioni video non ci siano più?
— Martian2049,


10

Penso che questo funzioni. Registrazione di un video o audio;

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

o (nuovo metodo)

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

In caso contrario, probabilmente funzionerà su iOS6, maggiori dettagli sono disponibili su get user media


4

L' app Picup è un modo per scattare foto da una pagina HTML5 e caricarle sul tuo server. Richiede una programmazione aggiuntiva sul server, ma a parte PhoneGap, non ho trovato un altro modo.


5
In iOS8 non hai più bisogno di Picup. HTML5 supporta <input type = "file" accept = "image / *" id = "capture" capture = "camera">. Verificato in Safari e Chrome.
— rakensi,

1

Questa domanda ha già alcuni anni, ma in quel momento si sono evolute alcune possibilità aggiuntive, come l'accesso diretto alla fotocamera, la visualizzazione di un'anteprima e l'acquisizione di istantanee (ad esempio per la scansione del codice QR).

Questo articolo di Google Developers fornisce una spiegazione approfondita di tutti (?) I modi in cui ottenere dati di immagini / telecamere in un'applicazione Web, dal "lavoro ovunque" (anche nei browser desktop) al "lavoro solo su moderni, aggiornati -date dispositivi mobili con fotocamera ". Insieme a molti consigli utili.

Metodi spiegati:

  • Chiedi un URL
  • File input (coperto dalla maggior parte degli altri post qui)
  • Trascina selezione (utile per i browser desktop)
  • Incolla dagli Appunti
  • Accedi alla telecamera in modo interattivo (necessario se l'applicazione deve fornire un feedback immediato su ciò che "vede", come i codici QR)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.