Обнаружить поддержку браузера для HTML Media Capture
Как я могу обнаружить поддержку браузера для HTML Media Capture *?
Традиционный способ тестирования, если поддерживается атрибут, не работает на некоторых устройствах (проверенных на iPad и Google Nexus):
var elm = document.createElement(input);
if (capture in elm) {
return true;
}
Там тест для Modernizr, но он не кажется надежным (он использует тот же принцип):
https://github.com/Modernizr/Modernizr/pull/909
__
(*) Дополнительная информация о HTML Media Capture:
http://www.w3.org/TR/html-media-capture/
http://www.html5rocks.com/en/tutorials/getusermedia/intro/#toc-round1
Ответы
Ответ 1
Надеюсь, я ошибаюсь, но, похоже, мы не сможем сделать это обнаружение...
последняя статья об этом API-интерфейсе HTML MEDIA Capture (который отличается от API Streaming/GetUserMedia), как было опубликовано в прошлом году (2014), и никогда не выходил из черновиков...
Этот комментарий с 2012 года по запросу для реализации этой функции в Firefox четко гласит, что:
[T] здесь нет реальной необходимости реализовать это. Он должен появиться бесплатно с системой Android Intent. Мы должны просто вызвать намерение для ACTION_IMAGE_CAPTURE/ACTION_VIDEO_CAPTURE.
Это означает, что эта функция исходит непосредственно из ОС и что у нас, как разработчиков, не будет никакого способа узнать, будет ли это доступно или нет...
Таким образом, единственный способ обнаружить эту функцию - это совпадение UserAgent с известными поддерживающими устройствами...
Ответ 2
Эта форма захвата медиа в браузерах устарела, устарела и устарела. Новый стандарт getUserMedia может быть обнаружен следующим образом:
function hasGetUserMedia() {
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia);
}