Как включить переднюю камеру в webview для Android

Как включить фронтальную камеру в веб-виде? Я включил функции в AndroidManifest.xml

<uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.camera.front" android:required="true" /> 

Камера не будет использоваться для съемки фотографий или записи, просто для включения передней камеры.

Когда я перехожу на веб-сайт с помощью браузера телефона, телефонная камера работает, как только разрешено приглашение. Как это работает с веб-просмотром?

В html-файле есть тег Canvas и Video, который отображает веб-камеру. Он не записывает и не фотографирует, он просто показывает вам вид камеры.

Вот код html

  <canvas id="inCanvas" width="500" height="500" style="display:none"></canvas> <video id="inputVideo" width="100" height="100" autoplay loop ></video> 

Он работает с веб-камерой, но не с webview в Android.

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

1) камера доступа и просто покажите видео на экране (не снимая изображение):

HTML:

  <canvas id='canvas' width='100' height='100'></canvas> 

ЯШ:

  var onFailSoHard = function(e) { console.log('failed',e); } window.URL = window.URL || window.webkitURL ; navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia; var video = document.querySelector('video'); if(navigator.getUserMedia) { navigator.getUserMedia({video: true},function(stream) { video.src = window.URL.createObjectURL(stream); },onFailSoHard); } var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); setInterval(function(){ ctx.drawImage(video,0,0); }, 100); } 

2) захватить изображение с камеры:

Вот документ для этого.

 navigator.camera.getPicture(onSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL }); function onSuccess(imageData) { var image = document.getElementById('myImage'); image.src = "data:image/jpeg;base64," + imageData; } function onFail(message) { alert('Failed because: ' + message); } 

Я бы использовал что-то похожее на нижеследующее как скрипт для доступа к телефонной камере.

 <script> var errorCallback = function(e) { console.log('Rejected!', e); }; // Not showing vendor prefixes. navigator.getUserMedia({video: true, audio: true}, function(localMediaStream) { var video = document.querySelector('video'); video.src = window.URL.createObjectURL(localMediaStream); // Note: onloadedmetadata doesn't fire in Chrome when using it with getUserMedia. // See crbug.com/110938. video.onloadedmetadata = function(e) { // Ready to go. Do some stuff. }; }, errorCallback); </script> 

Использовал следующий учебник, чтобы помочь мне. Надеюсь, он установит юо на правильном пути 🙂

Intereting Posts
Как установить флажок в правой части текста Определить существование функции Google Streetview Fiddler – расшифровать Android HttpsUrlConnection SSL-трафик Соединение клиентских сокетов Java в Android Как программно отображать свернутые элементы в CoordinatorLayout? Регулярное выражение Android для получения ссылок на источник веб-страницы Можно ли записывать видео с камеры через буфер в файл? FragmentPagerAdapter – как обнаружить салфетки или вкладку, когда пользователь переходит на новую вкладку? Нужно ли вызывать обработчик ошибок bugsense в каждом действии приложения Android? NFC Card Reader ACR 122 несовместим с Android 4.1 Jelly Beans? Google Play in-app billing v3 getSkuDetails () возвращает кешированные результаты, даже если цены IAP были изменены Https-код безопасности не проверяется на мобильных устройствах с помощью сервера openshift Получить файл по Bluetooth через OBEX Object PushProfile Как создать Scrollview программно? Настройка изображения в элементе ListView с помощью SimpleCursorAdapter и ViewBinder