HTML5:相机访问

我是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,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>

解决方法

Firefox 17,Chrome 23和Opera 12现在支持getUserMedia方法。 (见 caniuse.com)

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码