检测到对getUserMedia的支持时遇到问题。 我使用的是Android 4.2.2。
问题是android浏览器就好像它支持getUserMedia,但是在使用它时,我既没有调用success函数也没有调用fail函数。 代码如下:
function onCameraFail(e){
alert("Failed getting media");
}
if (navigator.webkitGetUserMedia) {
alert("getMedia supported");
navigator.webkitGetUserMedia({video:true}, function (stream) {
alert("Got media");
}, onCameraFail);
alert("after getMedia");
}else{
//Old device, no support for providing a photo
alert("No support for getUserMedia");
}
在Android浏览器上,此代码显示弹出窗口“getUserMedia支持”,但我从未收到任何显示“已获取媒体”或“无法获取媒体”的弹出窗口。 在Android上的Chrome中运行相同的代码时,它会显示“不支持getUserMedia”
为什么会这样?我认为这是检查功能支持的常用方法。
答案 0 :(得分:0)
Android浏览器不支持GetUseMedia。
getUserMedia(constraints,successCallBack,errorCallBack)
在errorCallBack中,检查您获得的错误。你应该每次都得到确切的理由。
答案 1 :(得分:0)
WebRTC功能在Android上可用。这取决于应用程序是否具有:
您应该在JavaScript中收到相应的错误消息(调用getUserMedia时),以了解失败的地方,例如NotReadableError突出显示权限/无法启动视频源。始终将适配器用于一致的错误消息:https://webrtc.github.io/adapter/adapter-latest.js
有关更多信息,请参见以下内容: NotReadableError: Could not start source