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

Ответ 1

Теперь метод getUserMedia поддерживается в Firefox 17 +, Chrome 23+ и Opera 12+. (См. caniuse.com)

Screenshot of the CanIUse.com support grid as of 2/24/12

Ответ 2

Это работает на Firefox mobile, Chrome, iPhone и Android:

<input type="file" id="mypic" accept="image/*">

Ответ 3

У нас был некоторый успех в этом базовом подходе, собранном из Интернета:

<form method="post" action="takephoto.php" enctype="multipart/form-data">
<input type="file" accept="image/*" name="file">
<input type="submit">
</form>

Затем в файле PHP мы генерируем уникальные имена файлов, используя now() или что-то подобное для хранения.

Ответ 4

<input type="file" accept="image/*;capture=camera">

Отметьте эту ссылку Камера использует HTML5

Поддержка:

Android 3.0 - одна из первых реализаций. Просмотрите это видео, чтобы увидеть его в действии. Chrome для Android (0.16) Firefox Mobile 10.0 iOS6 Safari и Chrome (частичная поддержка)

Ответ 6

Недавно я начал работать с инструментом Bridgeit.

Это комбинация javascript в браузере и приложение на телефоне. Кажется, он работает до сих пор.

http://bridgeit.mobi/

Ответ 7

Opera Desktop, Opera Mobile и Chrome (после изменения некоторой конфигурации) поддерживают доступ к камере/микрофону HTML5 до сих пор.

Ответ 8

Вы можете использовать Chrome для Android, включив флаг "Включить WebRTC" под символами chrome://

Я тестировал на своем телефоне Android доступ к камере на странице html5, и она работает.