我写了一些HTML5和JS代码,用于在画布上从网络摄像头渲染视频流,但我不知道指定打开哪个摄像机设备的方法。
事实上,如果我访问我的代码与我的Android一起运行的网页,它只会显示“selfie-cam”。如何指定使用手机的主摄像头?有没有办法做到这一点?
如果我从笔记本电脑访问该网页,则会打开内置网络摄像头。但是如何连接(辅助)USB摄像头?
这是我脚本的“主要”:
var video, canvas, context;
window.onload = Initialize;
初始化功能:
function Initialize()
{
video = document.getElementById("videoElement");
canvas = document.getElementById("canvasElement");
canvas.width = parseInt(canvas.style.width);
canvas.height = parseInt(canvas.style.height);
context = document.getCSSCanvasContext("2d", "mask", 640, 480);
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;// || navigator.msGetUserMedia || navigator.oGetUserMedia;
if(navigator.getUserMedia)
{
navigator.getUserMedia({video: true}, VideoCapture, Error);
requestAnimationFrame(IdleFunc);
}
else
{
alert("Error: your browser is not supported.");
}
}
成功回调:
function VideoCapture(stream)
{
video.src = window.URL.createObjectURL(stream);
}
失败回调:
function Error(e)
{
alert("Error: " + e);
}
空闲功能:
function IdleFunc()
{
requestAnimationFrame(IdleFunc);
if(video.readyState === video.HAVE_ENOUGH_DATA)
{
context.drawImage(video, 0, 0, canvas.width, canvas.height);
}
}
任何帮助?
谢谢。 抱歉我的英语:)
PC :Windows 8.1,Chrome(v41)。 智能手机:Android 4.2.2,Chrome(v41)。