javascript - macOS Safari 问题与(getUserMedia)以角度 6 从相机获取视频流 - NotReadableError:I/O 读取操作失败
问题描述
当我尝试从相机获取视频流时出现mac
问题safari
。
对于获取流,我使用函数navigator.mediaDevices.getUserMedia({video: true})
Onchrome
它工作得很好,但safari
有时会抛出错误:
NotReadableError:I/O 读取操作失败。
最奇怪的是它不稳定,它可能会出现错误,一段时间后它会正常工作(不更改代码) ......我检查了很多次,但没有找到依赖关系为什么它或工作或不工作。
错误仅在 angular 中显示的另一件奇怪的事情,所以我认为问题可能与zone.js
但在尝试取出函数调用以从中获取流时我没有找到解决方案zone
(用于取出zone
我使用的runOutsideAngular
and run
)。
我尝试使用一些npm
类似的库ngx-webcam
,ack-angular-webcam
但这也无济于事,当我的代码中显示错误时,它也出现在插件代码中(我猜这是因为它们使用相同的函数来获取流)。
所以,我在互联网上的长期研究没有给出适当的结果,我不得不询问建议、解决方案或至少是想法。
我的问题
如何避免出现此错误,为什么它不经常显示以及此错误的原因是什么?
谢谢你的帮助。
解决方案
Not related to angular, simply running:
navigator.mediaDevices.getUserMedia({audio: true, video: false}).then(function(e) {console.log("success",e);}, function(e){console.log("reject",e);})
in a javascript console, and you will see the I/O error, only on Safari. This looks like a WebKit bug.
(i will complete the answer as soon as I found more details).
推荐阅读
- prometheus - 如何使用普罗米修斯监控第三方服务,在不同的服务器上有黑盒导出器
- java - JPA 持久性问题
- jakarta-mail - 如何通过 Exchange Server 发送 Java MimeMultipart
- laravel - Laravel 本地化多行
- html - Magento 2.2.5:“指定了 itemprop 属性,但该元素不是任何项目的属性”
- python - 未关闭的客户端会话。有什么解决办法吗?
- firebase - 批处理与云功能的多个 Firestore 更改
- date - Neo4J:如何将属性从字符串设置为日期?
- optimization - 在 fortran 中使 write(...., position=append) 更快
- azure - Azure pyspark 可视化导致解释器崩溃