2014-02-07 3 views
5

Я хочу включить изображение (& audio & video) Загружается в рамки опроса. Для этого входной файл почти достаточен для моих целей.Ввод файла Polyfill с захватом захвата (используя getUserMedia для захвата?)

В некоторых мобильных браузерах <input type="file" accept="image/*;capture=camera"> действительно простой способ, чтобы позволить пользователям выбрать, чтобы загрузить существующий файл или взять новый. Конечно, пользовательский интерфейс для просмотра и выбора среди изображений также предусмотрен.

Настольные браузеры не пошли по этому маршруту. Вместо этого, некоторые довольно приятные вещи, кажется, можно использовать с помощью getUserMedia().
Я не нашел рабочих примеров, которые загружают собранные пользовательские носители на сервер (например, я нашел https://github.com/codepo8/interaction-cam/ через это answer. Он показывает видео, но не фиксирует его в моем Firefox и не «знает» его об этом , он не показывает видео вообще в Safari). Я не уверен, насколько это связано с оборудованием (моя камера Macbook Air была включена/отключена в Chrome в течение длительного времени).

Есть ли какой-либо полиполк для загрузки захваченных изображений, которые могут вернуться к простому вводу файлов в случае отказа доступа/доступа?

ответ

1

С тех пор я нашел getUserMedia.js, который работает в Firefox. Он возвращается к Flash, что приятно, я должен посмотреть, могу ли я настроить его, чтобы вернуться к типу ввода = «файл» в мобильных браузерах.

1

На рабочем столе, чтобы доступ вебкамера:

  • использовать (в настоящее время не рекомендуется) navigator.getUserMedia ИЛИ
  • использовать новое обещание на основе navigator.mediaDevices.getUserMedia

После предоставления доступа к запись веб-камеры:

  • использовать Media Recorder API, то теперь поддерживается в Chrome/Firefox (demo & code) ИЛИ
  • использование WebRTC и поток видео на медиа-сервере, где вы можете записать его

PS: на мобильном в Спецификация HTML Media Capture развилась, accept="image/*;capture=camera" никогда не попадал в рекомендацию кандидата W3C. Используйте только accept="image/*" вместо этого и отдельно добавьте capture="capture" (Boolean), только если вы хотите принудительно захватить камеру. См. Correct Syntax for HTML Media Capture для более подробной информации.