如何在android的webview中启用前置摄像头

你如何在Webview上启用前置摄像头? 我已经启用AndroidManifest.xml中的功能

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

相机不会用于拍照或录制,只是为了打开前置相机。

当我使用手机浏览器访问网站时,电话摄像机一旦发出提示信息即可正常工作。 这如何与webview一起工作?

在HTML文件中有一个显示摄像头的画布和视频标签它不记录或拍照,它只显示摄像头视图。

这里是html代码

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

它适用于摄像头,但不适用于android中的webview。


我不太明白,但我可以在下面两个之一,你想要什么。

1)访问摄像头并在屏幕上显示视频(不捕获图像):

HTML:

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

JS:

 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>

使用以下教程来帮助我。 希望它将yuo放在正确的轨道上:)

链接地址: http://www.djcxy.com/p/83187.html

上一篇: How to enable front camera in webview for android

下一篇: Convert BNF grammar to pyparsing