我正在使用以下条件在Safari上初始化相机,但它不起作用。我注意到safari中的导航器对象没有属性mediaDevices
或getUserMedia
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
// Not adding `{ audio: true }` since we only want video now
console.log("mediaDevices");
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
cam = stream.getTracks()[0];
video.src = window.URL.createObjectURL(stream);
video.play();
});
}
else if(navigator.getUserMedia) { // Standard
console.log("2");
navigator.getUserMedia({ video: true }, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
console.log("3");
navigator.webkitGetUserMedia({ video: true }, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
console.log("4");
navigator.mozGetUserMedia({ video: true }, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
任何人都知道如何让它发挥作用?
我的HTML看起来像这样:
<video id="video" width="640" height="480" autoplay></video>
<canvas id="canvas" width="640" height="480"></canvas>
答案 0 :(得分:0)
我见过的所有在Safari中访问网络摄像头的方法都是使用flash完成的。