在我的 nexus4 (Android 4.4.4) 上,我试图在“面向用户”的摄像头和面向“环境”的摄像头之间切换。
直接访问任何一个都有效。在它们之间切换 bij 再次调用navigator.getUserMedia()设置新约束失败。失败导致黑屏视频 & MediaStream.ended=true。
为什么在我第二次调用 getUserMedia 时 MediaStream.ended=true?
在我看来,我为视频源的数量动态创建按钮。在这种情况下有两个。单击按钮将调用camera.getUserMedia()并传入媒体源:
camera.getUserMedia = function(source){
var constraints = {
video: true,
audio: false
};
if(source){
constraints.video = {optional: [{
sourceId: source.id
}]};
}
navigator.getMedia(
constraints,
function(stream) {
var vendorURL = window.URL || window.webkitURL;
video.src = vendorURL.createObjectURL(stream);
video.play();
streaming = true;
},
function(err) {
...
}
);
};
Run Code Online (Sandbox Code Playgroud)

我正在构建一个Web应用程序,需要在线或离线时无缝工作.为此,需要能够检查我与服务器的连接.
要支持的主要设备是iphone3 + 4,ipad,带有chrome和Android 2.1+的上网本.
这navigator.onLine不完全是我想要的.这是不可靠的,只检查您是否有连接,而不是连接到特定服务器.
我试图jQuery.getJSON在我的服务器上连接ping web服务.这在上网本的chrome中运行良好,但原生android浏览器返回null.Ipod touch根本不做任何事情.
我可以用这个帮助..
android ×2
connection ×1
getjson ×1
getusermedia ×1
javascript ×1
jquery ×1
video ×1
web-services ×1
webrtc ×1