2015-08-04 3 views
1

Я выполняет этот код на локальный XAMPP серверhtml5 GetUserMedia Api кнопка остановки веб-камера не работает

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"/> 
</head> 
<body> 
<video onclick="changeFilter(this);"width=200 height=200 id="video" controls autoplay></video> 
<p> 
<button onclick="startWebcam();">Start WebCam</button> 
<button onclick="stopWebcam();">Stop WebCam</button> 
</p> 
<script> 
navigator.getUserMedia = (navigator.getUserMedia || 
        navigator.webkitGetUserMedia || 
        navigator.mozGetUserMedia || 
        navigator.msGetUserMedia); 

var webcamStream; 

function startWebcam() { 
if (navigator.getUserMedia) { 
console.log("toto"); 
navigator.getUserMedia (

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

    // successCallback 
    function(localMediaStream) { 
     var video = document.querySelector('video'); 
     video.src = window.URL.createObjectURL(localMediaStream); 
     webcamStream = localMediaStream; 
    }, 

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

    function stopWebcam() { 
    localMediaStream.stop(); 
    } 
</script> 
</body> 
</html> 

Этот код начинается веб-камеры, но при нажатии на кнопку Stop WebCam консоль дает мне следующую ошибку:

Uncaught TypeError: Cannot read property 'stop' of undefined function stopWebcam() { webcamStream.stop(); } 

Я новичок в JavaScript, и я не вижу проблемы здесь.

ответ

1

localMediaStream не доступен для вас в stopWebcam(). Проверьте этот пост более на What is the scope of variables in JavaScript?

Try ...

function stopWebcam() { 
     webcamStream.stop(); 
    } 
+1

вы так много безумия !!! lol я только понял, что мне нужно было изменить его на это, а потом это сработало !! удачи вам и спасибо за вашу помощь !!! –

Смежные вопросы