我对HTML5
很新。我尝试使用以下HTML5
代码访问手机上的相机。它始终显示“不支持本机网络摄像头”。似乎我的移动浏览器(safari和android 2.1网络浏览器)不支持相机。
您能否告诉我应该使用哪种浏览器来访问相机?
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, maximum-scale=1.0">
<style>
body {width: 100%;}
canvas {display: none;}
</style>
<script>
var video, canvas, msg;
var load = function () {
video = document.getElementById('video');
canvas = document.getElementById('canvas');
msg = document.getElementById('error');
if( navigator.getUserMedia ) {
video.onclick = function () {
var context = canvas.getContext("2d");
context.drawImage(video, 0, 0, 240, 320);
var image = {"demo" : {
"type" : "device",
"image" : canvas.toDataURL("image/png")
}};
};
var success = function ( stream ) {
video.src = stream;
};
var error = function ( err ) {
msg.innerHTML = "Error: " + err.code;
};
navigator.getUserMedia('video', success, error);
} else {
msg.innerHTML = "Native web camera not supported :(";
}
};
window.addEventListener('DOMContentLoaded', load, false);
</script>
</head>
<body>
<video id="video" width="240" height="320" autoplay> </video>
<p id="error">Click on the video to send a snapshot to the receiving screen</p>
<canvas id="canvas" width="240" height="320"> </canvas>
</body>
</html>
答案 0 :(得分:40)
Firefox 17 +,Chrome 23+和Opera 12+现在支持getUserMedia
方法。 (见caniuse.com)
答案 1 :(得分:14)
这适用于Firefox手机,Chrome手机,iPhone和Android:
<input type="file" id="mypic" accept="image/*">
答案 2 :(得分:5)
我们在网上拼凑出这种基本方法取得了一些成功:
<form method="post" action="takephoto.php" enctype="multipart/form-data">
<input type="file" accept="image/*" name="file">
<input type="submit">
</form>
然后在PHP文件中,我们使用now()或类似的存储来生成唯一的文件名。
答案 3 :(得分:5)
<input type="file" accept="image/*;capture=camera">
请参阅Capturing Audio & Video in HTML5
支持:
- Android 3.0浏览器 - 首批实施之一。观看此视频,了解相关信息。
- Chrome for Android(0.16)
- Firefox Mobile 10.0
- iOS6 Safari和Chrome(部分支持)
答案 4 :(得分:3)
我认为Opera是唯一支持此HTML5扩展程序的移动浏览器。
请参阅作者对此主题的说明;
答案 5 :(得分:3)
答案 6 :(得分:1)
Opera Desktop,Opera mobile和Chrome(更改了一些配置后)到目前为止支持HTML5摄像头/麦克风访问。
答案 7 :(得分:0)
HTML5添加了对摄像机访问的支持,您可以像这样使用它:
<input type="file" accept="image/*" capture>
<input type="file" accept="image/*" capture="user">
<input type="file" accept="image/*" capture="environment">
user
用于前置摄像头,environment
用于后置摄像头。
答案 8 :(得分:-1)
您可以通过启用chrome:// flags
下的“启用WebRTC”标记来使用Chrome for Android我在我的Android手机上测试了在html5页面上访问相机并且它正在工作。