2013-03-14 33 views
10

訪問攝像頭我需要打開通過JavaScript 攝像頭,我知道可以通過<video>訪問HTML5,但需要訪問網絡攝像頭使用純JavaScript如何通過JavaScript的

有人可以幫助我或者給我一些想法?

我只需要使用JavaScript訪問網絡攝像頭,併爲我的英語感到抱歉,我正在使用Google翻譯器。

我不能使用標籤 '<視頻>'

+2

我很困惑.... – jAndy 2013-03-14 18:13:52

+2

您是否需要通過javascript或其他方式訪問攝像頭? – 2013-03-14 18:14:32

+4

http://www.html5rocks.com/en/tutorials/getusermedia/intro/ – 2013-03-14 18:14:48

回答

22

正如我作爲評論所述,我對你的措辭感到困惑。你說過,你知道「HTML5」可以訪問攝像頭,但你需要通過純Javascript。

好吧,如果你不知道,HTML5推出了這種名爲的WebRTC這是短期的實時通信。其中一部分,引入了一個名爲 的新東西navigator.getUserMedia() navigator.mediaDevices.getUserMedia(constraints)也被引入。也就是說,一個ECMAscript對象,它允許你訪問用戶機器WebCam麥克風設備。您可以看到,整個演出都嵌入到了展示/規範中,因此我們無法真正將Javascript與HTML5分開。

延伸閱讀:

+0

謝謝,完美的工作! – 2013-03-15 14:51:50

2

this great tutorial from HTML5rocks

基本上,getUserMedia讓瀏覽器請求許可然後讓你使用相機。

您必須意識到它仍然得不到支持,並且API可能會再次發生變化,特別是如果您想通過互聯網發送這些流。

2

有現在這樣做了幾個JavaScript庫。

+0

它們不是基於HTML5的。他們兩人都需要Flash。 – 2013-03-14 18:20:01

+0

@dystroy so? OP沒有具體說明答案應該只包含基於HTML5的解決方案。他有HTML5標籤,但他的問題的文本沒有提及它作爲一項要求。 – 2013-03-14 18:47:08

+2

我從一個簡短的答案中預測了一些可能不明顯的東西,我並不是說答案不好。這就是說,即使問題很不明確,我讀「訪問** html5 **,但需要訪問攝像頭**純粹的JavaScript **」。 – 2013-03-14 18:49:46

6

這是隻有在HTML5後備情況使用閃光燈JS庫:

https://github.com/jhuckaby/webcamjs

從代碼樣品:

<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>