angular - 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;
}
解决方案
推荐阅读
- python - 如何在 python 虚拟环境中使用全局安装的 CV2(手动安装)包?
- java - 为什么Java最终变量不能在setter方法中赋值?
- mongodb - 我可以在 mongodb 中为 $or 查询编写索引吗?
- javascript - 监控由 WebAssembly 模块进行的系统调用
- javascript - 如何从自定义嵌入块中获取 quill 实例
- php - 空 POST 方法
- apache-kafka - 如何使用 Kafka GSC 连接器从模式注册表获取逻辑类型到 avro 文件
- maven - Velocity - 在大写字母上拆分字符串并插入下划线
- python - Xpath 不适用于带有引号的字符串。铬合金
- swiftui - 如何使用 `GridItem(.flexible())` 设置网格单元格的高度?