2015-12-11 34 views
7

Tôi đang cố gắng truy cập webcam của mình bằng cách sử dụng getUserMedia() sử dụng trang web của riêng tôi chạy bằng địa chỉ ip của chính tôi.getUserMedia() không được hỗ trợ trong chrome

nó hoạt động tốt cho đến khi tôi thử lại trang web của mình. tôi đã thử trang demo khác và lỗi được đưa ra là getUserMedia không được hỗ trợ.

Chrome 32bits phiên bản v47.0.2526.80m

enter image description here

Tôi có thể truy cập vào webcam nếu tôi nhập localhost thay vì ipadress tôi. nó cũng hoạt động trong firefox.

+0

cần phải ở trên SSL – Clay

+0

nó hoạt động trước đó mà không sử dụng SSL .. –

+0

Có, nó đã làm. Hôm thứ Hai, tôi đã phải thay đổi trang web của mình thành SSL để hoạt động. – Clay

Trả lời

7

Chrome cuối cùng thực hiện phương pháp mới navigator.mediaDevices.getUserMedia(), nhưng họ thêm một an ninh rằng sẽ ngăn chặn các cuộc gọi từ địa chỉ không an toàn (không https hoặc máy chủ không localhost)

Bạn sẽ gọi nó là như thế này:

var video = document.querySelector('video'); 
navigator.mediaDevices.getUserMedia({video:true}).then(function(mediaStream){ 
    window.stream = mediaStream; 
    video.src = URL.createObjectURL(mediaStream); 
    video.play(); 
}); 

Hoặc bạn có thể sử dụng chính thức webRTC polyfillThư viện.

var constraints = { video: true, audio: true }; 

navigator.mediaDevices.getUserMedia(constraints) 
    .then(stream => video.srcObject = stream) 
    .catch(e => console.error(e)); 
Các vấn đề liên quan