Android web 视图中的 HTML 相机 API

Sar*_*jit 5 android webview html5-video camera-api

我正在使用以下 html 代码。我可以在桌面上获取视频流,但在 android webView 应用程序中却看到灰色的播放按钮。我通过 https 连接提供此服务。请指导我,因为我对这两个代码片段都是新手。

超文本标记语言

<div id="video-container">
 <video id="camera-stream" width="500" autoplay></video>
</div>
Run Code Online (Sandbox Code Playgroud)

脚本.js

window.onload = function() {
 navigator.getUserMedia = (navigator.getUserMedia ||
                        navigator.webkitGetUserMedia ||
                        navigator.mozGetUserMedia || 
                        navigator.msGetUserMedia);
 if (navigator.getUserMedia) {
  navigator.getUserMedia({ video: true },
  function(localMediaStream) {
   var vid = document.getElementById('camera-stream');
   vid.srcObject = localMediaStream;
  },
function(err) {
  console.log('The following error occurred when trying to use getUserMedia: ' + err);
 }
);
} else { alert('Sorry, your browser does not support getUserMedia'); }
}
Run Code Online (Sandbox Code Playgroud)

此屏幕截图取自我的桌面 Chrome 浏览器。

在此输入图像描述

这是从我的手机 webView 中获取的。

在此输入图像描述

小智 1

我知道这是一个旧线程,但我最近遇到了同样的问题,经过多次尝试才终于找到了解决方案。

如果您看到此播放按钮,则所有权限都应该设置正确。网络视图似乎正在等待用户交互来启动流式传输,但点击图标不会启动视频(不知道用户应该如何“批准”流式传输)

解决方案是更改 webapp 中 webview 的设置:

webView.settings.mediaPlaybackRequiresUserGesture = false;
Run Code Online (Sandbox Code Playgroud)

通过这种方式,流可以正确启动,无需任何用户交互