簡體   English   中英

無法訪問網絡攝像頭(JavaScript)?

[英]Not able to access webcam (Javascript)?

我正在學習使用getUserMedia()來訪問javascript中的網絡攝像頭。 但我遇到錯誤- Not allowed to load local resource: blob:null/3485f5b8-46c1-4a40-946a-8de2588720f0

我在網上搜索,但他們說我需要一個https連接或其他東西,不允許使用文件url,但我不完全了解發生了什么。

該代碼是-

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="stuff, to, help, search, engines, not" name="keywords"> <meta content="What this page is about." name="description"> <meta content="Display Webcam Stream" name="title"> <title>Display Webcam Stream</title> <style> #container { margin: 0px auto; width: 500px; height: 375px; border: 10px #333 solid; } #videoElement { width: 500px; height: 375px; background-color: #666; } </style> </head> <body> <div id="container"> <video autoplay="true" id="videoElement"> </video> </div> <script> var video = document.querySelector("#videoElement"); navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia; if (navigator.getUserMedia) { navigator.getUserMedia({video: true}, handleVideo, videoError); } function handleVideo(stream) { video.src = window.URL.createObjectURL(stream); } function videoError(e) { // do something console.log("error"); } </script> </body> </html> 

出於隱私和安全方面的考慮,Google決定僅允許某些功能來“保護”來源,即getUserMedia僅在使用HTTPS的網站上可用。

有關更多原因,您可以閱讀他們對此的文章

您的代碼很好,通過HTTPS使用時也可以正常工作,在開發過程中最簡單的方法可能是jsbin

如果您嘗試使用Chrome: file:協議上的chrome,請關閉所有Chrome,chrome實例,然后使用--allow-file-access-from-files標志重新啟動Chrome,chrome,以允許瀏覽器訪問本地文件系統中的文件。 另請參閱Jquery load()僅在firefox中工作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM