安卓端微信浏览器摄像头问题

netvir 2018-11-30 08:00:20
在安卓微信中使用canvas绘制摄像头内容非常卡顿,这样就无法进一步提取摄像头内容做计算了。
以下为代码,如果在微信中访问,需要使用https

<html>
<head>
<title>安卓端微信浏览器摄像头问题</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
</head>
<body>
<p>直接摄像头---不卡顿</p>
<video height="180px" autoplay ></video><hr />
<p>canvas绘制摄像头内容---很卡顿</p>
<canvas height="180px" ></canvas><hr />
<p>在安卓微信中使用canvas绘制摄像头内容非常卡顿,这样就无法进一步提取摄像头内容做计算了</p>
<script type="text/javascript">
var video = document.querySelector('video');
var canvas = document.querySelector('canvas');
var context = canvas.getContext('2d');
/////////////////////////////////////
navigator.mediaDevices.enumerateDevices().then(devices => {
var camid = [];
devices.filter(device => device.kind === 'videoinput').forEach(device => {
camid.push(device.deviceId);
});
navigator.mediaDevices.getUserMedia({
video: {
deviceId: camid[1],
facingMode: 'environment'
}
}).then(stream =>{
video.srcObject = stream;
// 将视频帧绘制到Canvas对象上
var tick = function() {
context.drawImage(video,0,0,video.videoWidth/video.videoHeight*180,180);
//var imagedata = context.getImageData(0, 0,video.videoWidth/video.videoHeight*180,180);//进一步获取数据,未打开
requestAnimationFrame(tick);
}
tick();
});
});
video.play();
</script>
</body>
</html>

麻烦有获取摄像头数据经验的伙伴们提供思路。
...全文
31 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧