2014-04-25 5 views
12

E 'possibile capire se un utente ha una webcam o non usa solo JavaScript? Non voglio usare nessun plugin per questo.Verifica se l'utente ha una webcam o non usa solo JavaScript?

+0

http://stackoverflow.com/questions/20641213/how -can-i-check-if-user-has-a-webcam-or-not –

+0

@DhavalMarthak Non voglio usare nessun plugin caro. Voglio controllare usando solo javacript. – Jimit

+1

Quindi ** non è possibile ** –

risposta

16

è possibile utilizzare una nuova API HTML5 per controllare se ti danno il permesso di utilizzare la webcam. Dopo tutto, se negano il permesso, potrebbero anche non avere una webcam, dal punto di vista del codice.

Vedere navigator.getUserMedia().

EDIT:

navigator.getMedia = (navigator.getUserMedia || // use the proper vendor prefix 
         navigator.webkitGetUserMedia || 
         navigator.mozGetUserMedia || 
         navigator.msGetUserMedia); 

navigator.getMedia({video: true}, function() { 
    // webcam is available 
}, function() { 
    // webcam is not available 
}); 
+1

getUserMedia() non funziona più su origini non sicure. Per utilizzare questa funzione, dovresti considerare di passare la tua applicazione a un'origine sicura, come HTTPS. Vedi https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins per maggiori dettagli. –

3

È possibile controllare se l'utente ha una webcam utilizzando questo plugin: http://www.xarg.org/project/jquery-webcam-plugin/

if(webcam.getCameraList().length == 0){ 
    alert('You don\'t have a web camera'); 
} 

Tratto da qui: How can I check if user has a webcam or not?

Edit: Vedo aggiornati tua domanda per dire che don' t voglio usare un plugin. In questo caso, si potrebbe provare a utilizzare l'API getUserMedia:

function success(stream){ 
    // The success function receives an argument which points to the webcam stream 
    document.getElementById('myVideo').src = stream; 
} 

function error(){ 
    alert("No webcam for you, matey!"); 
} 

if (navigator.getUserMedia) { 
    navigator.getUserMedia({video:true, audio:false}, success, error); 
} else { 
    error(); 
} 

Fonte: http://www.iandevlin.com/blog/2012/06/html5/filtering-a-webcam-using-getusermedia-and-html5-canvas

1

Non c'è modo è possibile leggere le impostazioni correnti del browser. l'unica cosa che possiamo fare è cercare di accedere alla webcam/microfono e vedere se siamo in grado di accedere a tale dispositivo come ...

navigator.getMedia({video: true}, function() { 
    // webcam is available 
}, function() { 
    // webcam is not available 
}); 

MA **** Una cosa importante da notare qui, se si seguire questo approccio quindi essere consapevoli del fatto che ....

Inoltre si prega di notare che, è necessario utilizzare HTTPS per utilizzare webcam/microfono e ti verrà chiesto il popup specifico del browser con i pulsanti di consenso e blocco SOLO UNA VOLTA, ti verrà NOT visualizzare nuovamente questo popup di autorizzazione mentre HTTPS salva l'autorizzazione.

L'unico modo per ottenere di nuovo questo permesso popup è quello di:

  1. svuotare la cache ed
  2. ripristinare le impostazioni del browser
  3. Aprire una nuova istanza del browser.

FYI ... Non è possibile manipolare un'impostazione specifica del browser usando JavaScript Quindi evento non vanno in questo modo, se non avete il tempo di uccidere

Problemi correlati