Intereting Posts
ProgressBar в AppWidget При загрузке приложения в Google Play отображается сообщение «Ошибка загрузки». Вам нужно проверить значок внутри вашего APK, потому что он недействителен PhoneGap – запуск другого приложения из текущего приложения Как обеспечить, чтобы приложения Android phonegap / cordova использовали веб-обзоры Chrome? Приложение для демонстрации приложений Android? Исключение NullPointer при использовании Espresso Кнопки управления внутри уведомлений об андроидах Сменить шрифт для Android Studio Как установить источник ImageViews динамически из ArrayList <String> с именем Drawable image? Что такое Шекспир в документации Фрагментов? Таблетка не появляется в АБР Как использовать несколько res.srcDirs и переопределить некоторые ресурсы с помощью gradle Android Crittercism init как в приложении, так и в действии Android Не разрешено загружать локальный ресурс: file: /// android_asset Никакой активности не найдено для обработки Intent action.VIEW при нажатии на ссылку электронной почты

Сделайте снимок с html5

Я прочитал много способов получить изображение с страницы html5. Я все еще не уверен, что лучше для моих нужд:

  • Широкая поддержка браузеров и os: по крайней мере: chrome, firefox, android default, safari
  • Мне не нужно приобретение в режиме реального времени. Пользователь должен нажать кнопку, чтобы сделать снимок, запросив приложение для системной камеры

Существует по крайней мере три решения:

  • <input type="file" accept="image/*;capture=camera">
  • Navigator.getUserMedia() (кажется устаревшим)
  • MediaDevices.getUserMedia() (кажется экспериментальным)

Во всяком случае, я вижу много примеров, чтобы вставить камеру на страницу (w/ getUserMedia) поэтому я не знаю, могу ли я полагаться только на первый метод.

Использование WebRTC API getUserMedia будет охватывать все современные браузеры, помимо Safari: http://caniuse.com/#feat=stream

Вот пример страницы, на которой getUserMedia использует съемку неподвижного изображения (со ссылкой на страницу, описывающую код). Большинство демонстраций getUserMedia показывают видеопоток в видимой области холста, но это не требуется. Вы можете захватить изображение с помощью getUserMedia без отображения видеопотока в видимом холсте.

К сожалению, Apple медленно применяет API-интерфейсы WebRTC, поэтому я думаю, что тег ввода файла – это лучшее, на что можно надеяться, если вы не захотите использовать что-то вроде Кордовы. Ниже приведено описание использования тега ввода файла.

API-интерфейс Media Capture API является рекомендацией кандидата, что означает, что он находится на пути к становлению стандартом, однако я не знаю ни одного браузера, который реализует текущую рекомендацию W3C (используя чистый атрибут захвата во входном теге). Стиль <input type="file" accept="image/*"> настоящее время поддерживается только мобильными браузерами.

В общем, если вы хотите иметь широкую поддержку браузера в ближайшем будущем, вам нужно будет поддерживать оба метода, пока Apple не начнет поддерживать API WebRTC или пока другие настольные браузеры не начнут поддерживать API Media Capture (или вариант с атрибутом захвата Который в настоящее время поддерживается мобильными браузерами).