首页 > 解决方案 > PWA 使用 mediaDevices.getUserMedia 在屏幕上冻结,但远程调试器显示应用程序按预期工作

问题描述

我正在使用 Angular PWA,它允许用户自拍并将其发送到服务器。我一直在我的电脑和当前的手机(有 Android 10)上调试它,它工作得很好,但是当我在 Android 11 的设备上测试它时,应用程序只是在相机打开的情况下冻结,它不会继续除非我最小化它并再次最大化它。有趣的是,如果我使用 Chrome 的远程调试工具,它表明该应用程序成功地按预期继续该过程(IE。PWA 在远程调试工具中移动到下一个屏幕,但在实际设备中没有)。

我曾经navigator.mediaDevices.getUserMedia能够访问相机,它工作得很好,为了停止相机,我使用如下功能:

stopCameras() {
var stream = this.video.srcObject;
var tracks = stream.getTracks();
for (var i = 0; i < tracks.length; i++) {
  var track = tracks[i];
  track.stop();
}
this.video.srcObject = null;

}

标签: angularprogressive-web-appsgetusermediaandroid-11chrome-remote-debugging

解决方案


推荐阅读