2013-03-14 38 views
10

muszę otworzyć kamerę za pomocą JavaScriptu wiem, że to jest możliwe, aby uzyskać dostęp do HTML5 przez <video> ale potrzebują dostępu do kamery z czystym JavaScriptJak uzyskać dostęp do kamery przez javascript

Czy ktoś może mi pomóc lub dać mi jakieś pomysły ?

Potrzebuję tylko dostępu do kamery internetowej z JavaScript i przepraszam za mój angielski, używam tłumacza Google.

nie mogę użyć tagu '< wideo>'

+2

Jestem zdezorientowany .... – jAndy

+2

Czy potrzebujesz dostępu do kamery internetowej przez javascript lub coś innego? –

+4

http://www.html5rocks.com/en/tutorials/getusermedia/intro/ –

Odpowiedz

22

Jak napisałem jako komentarz, jestem zdezorientowany twoim sformułowaniem. Powiedziałeś, że wiesz, że "HTML5" może uzyskać dostęp do kamery internetowej, ale potrzebujesz go przez czysty JavaScript.

Cóż, w przypadku, gdy nie wiem, HTML5 wprowadzono takie nazywa WebRTC który jest skrótem czasu rzeczywistego Komunikacji. Po części wprowadzono także nową rzecz o nazwie navigator.getUserMedia() navigator.mediaDevices.getUserMedia(constraints). To znaczy obiekt ECMAscript, który pozwala uzyskać dostęp do urządzeń użytkowników komputerów użytkowników.

Jak widać, cały program jest osadzony w wersji HTML5, więc nie możemy oddzielić JavaScriptu od HTML5 tutaj.

Dalsze czytanie:

+0

Dziękuję, działało idealnie! –

2

Jest this great tutorial from HTML5rocks.

Zasadniczo getUserMedia pozwala przeglądarkom poprosić o pozwolenie, a następnie pozwala korzystać z aparatu.

Musisz mieć świadomość, że jest on nadal źle obsługiwany i że interfejs API może się ponownie zmienić, szczególnie jeśli chcesz wysyłać te strumienie przez Internet.

2

Istnieje kilka javascript biblioteki dla robią to teraz.

+0

Nie są oparte na HTML5. Oba potrzebują Flasha. –

+0

@dystroy, więc? OP nie określił, że odpowiedzi powinny zawierać wyłącznie rozwiązania oparte na HTML5. Ma tag HTML5, ale tekst jego pytania nie wspomina o nim w ogóle jako o wymaganiu. –

+2

Wyjaśniałem coś, co nie jest oczywiste z krótkiej odpowiedzi, nie mówiłem, że odpowiedź jest zła. Mówiąc to, nawet jeśli pytanie jest dalekie od jasności, czytałem "dostęp do ** html5 ** przez, ale potrzebuję dostępu do kamery internetowej do ** czystego javascript **". –

6

Oto biblioteki js, który korzysta z lampy błyskowej tylko w HTML5 awaryjnej sytuacji:

https://github.com/jhuckaby/webcamjs

z kodu próbki:

<script src="webcam.js"></script> 

<div id="my_camera" style="width:320px; height:240px;"></div> 
<div id="my_result"></div> 

<script language="JavaScript"> 
    Webcam.attach('#my_camera'); 

    function take_snapshot() { 
     Webcam.snap(function(data_uri) { 
      document.getElementById('my_result').innerHTML = '<img src="'+data_uri+'"/>'; 
     }); 
    } 
</script> 

<a href="javascript:void(take_snapshot())">Take Snapshot</a> 
Powiązane problemy