HTML5媒体捕获API提供可编程访问摄像头,用户可以直接使用getUserMedia从摄像头视频流




萧边提供了思想的人,和最重要的学习编程实践。虽然我有完善的代码,我希望您可以编写自己的代码。
HTML5媒体捕获API提供可编程访问摄像头,用户可以直接使用getUserMedia得到摄像机提供的视频流。但事实上,有与使用HTML5调用手机摄像头的许多问题。
1)铬对谷歌21版本发布后,一个新的getUserMedia API添加到高质量的视频和音频通信。该API允许Web应用程序访问摄像机和麦克风。其他移动浏览器只有Opera支持HTML5来调用本地摄像机。
2)两浏览器不支持访问多个摄像头:Chrome不支持访问后置摄像头,后置摄像头支持访问Pera。

Android手机、浏览器chrome32版浏览器实现装置的照相机拍照。有完整的3个主要步骤:

1)获取视频流
添加一个HTML5视频标签,从摄像机中获取视频作为标签的输入源。

复制代码代码如下所示:
VaR的视频= document.getelementbyidx_x_x(视频);
navigator.getusermedia({视频:true},功能(流){
video.src = window.webkiturl.createobjecturl(流);
}函数(错误){警报(错误);});

2)照片
关于拍摄功能,HTML5的画布用于实时捕获视频标签的内容,并且视频元素可以用作画布图像的输入。

复制代码代码如下所示:
功能scamera(){
无功videoelement = document.getelementbyidx_x_x('video);
无功canvasobj = document.getelementbyidx_x_x('canvas1);
无功context1 = canvasobj.getcontext(二维的);
context1.fillstyle =# ffffff ;
context1.fillrect(0, 0, 320,240);
context1.drawimage(videoelement,0, 0, 320,240);
}

3)图像采集
从画布上得到的图像数据,其核心思想是将画布数据位编码的PNG图像与画布的todataurl Base64

复制代码代码如下所示:
无功imgdata = canvas.todataurl(图像/ png);

的imgdata格式如下:数据:图像/格式;base64,xxxxx
真正的图像数据是Base64编码的逗号后的部分