我在桌面浏览器上有一个支持getUserMedia Api的工作代码,我可以在div videoPreview
中正确地看到我的网络摄像头的视频预览。但是,在Android设备上运行时,当我接受在Chrome浏览器中共享时,相同的代码会使用我的前置相机拍照,然后预览会在第一帧上保持冻结状态。
navigator.getMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia);
navigator.getMedia(
// constraints
{video:true, audio:false},
// success callback
function (mediaStream) {
var video = document.getElementById('videoPreview');
video.src = window.URL.createObjectURL(mediaStream);
video.play();
},
//handle error
function (error) {
console.log(error);
}
)
答案 0 :(得分:10)
对于遇到相同问题的用户:我通过在autoplay
标记中添加<video>
属性来修复此问题。
坚持了一段时间,我希望这会帮助别人。
答案 1 :(得分:0)
我和我的一位同事今天也有同样的问题:工作代码不再工作,相机被冻结了。令人惊讶(或不),重启修复了这个问题。