2014-09-02 5 views
2

나는 내 사이트에서 javascript로 놀고있어 웹캠과 관련된 아이디어가 있습니다. 나의 첫 번째 사업은 사용자의 웹캠에서 데이터를 가져 와서 사이트에 표시하는 것입니다.크롬 - 웹캠에 액세스 허용

내 사이트는 hheim.com입니다. 가 여기에 모든 코드입니다 :

index.html을 내가 페이지를로드

<html> 
<head> 
<title>Selfie</title> 
</head> 
<body> 
<video></video> 
<script src="video.js"></script> 
</body> 
</html> 

에는 Video.js

(function() { 
navigator.getMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia ||    navigator.mozGetUserMedia); 
navigator.getMedia(
{video:true, audio:false}, 
function (mediaStream) { 
var video = document.getElemtsByTagName('video')[0]; 
video.src = window.URL.createObjectURL(mediaStream); 
video.play(); 
}, 
function (error) { 
console.log(error); 
}) 
})(); 

, 크롬은 웹캠을 막고 말했다. OK, 나는 그것을 기대했다. 의도 한대로 작업. 그러나 카메라 아이콘을 클릭하여 내 사이트의 차단을 해제하면 "물어보기"및 "계속 차단"옵션 만 있습니다. 기본값은 "계속 차단"입니다.

"물어보기"로 변경하면 도구 모음이 표시되어 페이지를 새로 고침하라는 메시지가 표시됩니다. 페이지를 새로 고침 할 때 질문을받지 않고 여전히 차단되어 있으며 여전히 "차단 계속"으로 기본 설정되어 있습니다.

나는 인터넷 검색을 한 적이 있으며 해결책을 찾지 못하는 것 같습니다. 포함해야 할 코드가 더 있습니까? 나는 여기 (쿠키 등)에 문제가있는 사람인가? 아니면 Chrome에서 실제 문제입니까?

+0

'document.getElemtsByTagName ('video') [0];'?, 해당 구문을 수정하십시오. – gab06

+0

HTTP에서 페이지를 실행하고있는 것 같습니다. 브라우저는 HTTPS를 사용할 때 훨씬 관대합니다. Chrome은 답변을 기억하고 두 번째로 묻지 않습니다 ... –

답변

1

먼저 사용자 미디어를 사용할 수 있고 부여 할 준비가되었는지 확인해야합니다. 그리고 기억 평가 악 : 비디오 및 자동 재생 속성에 대한

https://developer.mozilla.org/en-US/docs/NavigatorUserMedia.getUserMedia

설정 ID

navigator.getUserMedia = (navigator.getUserMedia || 
         navigator.webkitGetUserMedia || 
         navigator.mozGetUserMedia || 
         navigator.msGetUserMedia); 

if (navigator.getUserMedia) { 
    navigator.getUserMedia (

     // constraints 
     { 
     video: true, 
     audio: true 
     }, 

     // successCallback 
     function(localMediaStream) { 
     var video = document.getElementById('stream'); 
     video.src = window.URL.createObjectURL(localMediaStream); 
     // Do something with the video here, e.g. video.play() 
     }, 

     // errorCallback 
     function(err) { 
     console.log("The following error occured: " + err); 
     } 
    ); 
} else { 
    console.log("getUserMedia not supported"); 
} 
이다;

<video id="stream" autoplay></video> 
0

결국 크롬 설정으로 이동하여 기본 웹캠 설정을 "거부"에서 "확인"으로 변경해야했습니다.

페이지를 다시로드할지 묻는 메시지가 표시 될 때 Chrome에서 내 결정을 기억할 수 있다고 생각하지만 내 생각에는 그렇지 않습니다.

답장을 보내 주셔서 감사합니다.

관련 문제