JFCHINA
JFCHINA
  • 发布:2015-05-03 16:34
  • 更新:2015-05-04 11:19
  • 阅读:4325

[调用摄像头]同样的代码在浏览器中运行ok,用mui云打包成app,安装运行后却不能调用摄像头

分类:MUI
<body>  
<p>hello</p>  
    <video id="video" autoplay></video>  

<script>  
    var getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);  

    getUserMedia.call(navigator, {  
        video: true,  
        audio: true  
    }, function(localMediaStream) {  
        var video = document.getElementById('video');  
        video.src = window.URL.createObjectURL(localMediaStream);  
        video.onloadedmetadata = function(e) {  
            console.log("Label: "   localMediaStream.label);  
            console.log("AudioTracks" , localMediaStream.getAudioTracks());  
            console.log("VideoTracks" , localMediaStream.getVideoTracks());  
        };  
    }, function(e) {  
        console.log('Reeeejected!', e);  
    });  
</script>  
</body>

存成html文件,然后传到安卓手机中,直接运行,能调用摄像头。

但是放到mui中打包成app,真机调试都不成功。真机调试说不能调用call,显然是var getUserMedia没成功。盼版主和大神们回答, 小弟不甚感激。

2015-05-03 16:34 负责人:无 分享
已邀请:
JFCHINA

JFCHINA (作者)

我没有调用5+中摄像头的方法,因为html5本来就支持摄像头获取

  • DCloud_UNI_CHB

    代码贴的全不?localMediaStream.label这行报js错误啊

    2015-05-03 20:35

  • JFCHINA (作者)

    我就是没贴head上来,我在安卓上真机调试是在getUserMedia.call这行报错

    2015-05-04 10:23

  • JFCHINA (作者)

    回复 DCloud_UNI_CHB:我就是没贴head上来,我在安卓上真机调试是在getUserMedia.call这行报错

    2015-05-04 10:25

DCloud_heavensoft

DCloud_heavensoft

HTML5自己的摄像头如果可以商用,我们不会闲着没事又补充一个plus.camera。
很多手机上HTML5自带摄像头会弹框,还不能切换前后摄像头。

  • JFCHINA (作者)

    嗯,我明白你的意思,我就是想用h5自己的代码先试试。在手机浏览器上可以,app就不行,感觉很奇怪。

    2015-05-04 10:25

DCloud_UNI_CHB

DCloud_UNI_CHB

这是浏览器兼容性造成的,getUserMedia方法在chrome浏览器中支持,在safari及Android系统默认浏览器(除4.0外)中均不支持。

你在代码中增加如下测试代码,即可明白:

if(navigator.getUserMedia ){  
    alert("support getUserMedia");  
}else{  
    alert("not support getUserMedia");  
}  

if(navigator.webkitGetUserMedia){  
    alert("support webkitGetUserMedia");  
}else{  
    alert("not support webkitGetUserMedia");  
}
  • JFCHINA (作者)

    好的,看来需要用H5 PLUS 的接口了。

    2015-05-04 12:32

该问题目前已经被锁定, 无法添加新回复