【问题标题】:Alternative to getUserMedia() for reading live camera stream on iOS?在 iOS 上读取实时摄像头流的 getUserMedia() 替代方案?
【发布时间】:2017-05-27 22:32:38
【问题描述】:

我们正在使用 QuaggaJS 构建一个移动条码扫描器,它可以直接从设备的摄像头流中读取条码。在台式机/Android 上运行良好,但在 iOS 上根本无法运行。

从最初的研究中,我发现 iOS 根本不支持 WebRTC/getUserMedia 通过 Safari 或 iOS Chrome(下面的相关链接),这是 QuaggaJS 用来读取相机流的。

我也看过this question关于在iOS上捕获静止图像,但提供的答案仅用于捕获静止图像,而不是用于实时读取流。

我的问题 - 还有其他方法可以从 iOS 相机中获取视频流吗?也许是 QuaggaJS 以外的另一个不使用 getUserMedia 的库?我不精通 Javascript,所以我不确定除了getUserMedia 之外是否还有其他方法可以访问相机流。

“否”在这里是可以接受的答案;我只是在寻找更有经验的人提供指导。


附录/相关链接:

navigator.getUserMedia alternative API for iOS safari mobile browser?

https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari

https://bloggeek.me/webrtc-apple-or-microsoft/

HTML5: getUserMedia iOS issue?

【问题讨论】:

    标签: javascript android ios webrtc getusermedia


    【解决方案1】:

    2017 年更新:Apple 刚刚宣布 getUserMedia 最终将在 iOS11 中得到支持。

    2019 年 8 月更新:仅适用于 Safari,不适用于任何类型的 WebView。感谢@Klathmon 的评论。

    【讨论】:

    【解决方案2】:

    quaggaJS 页面有一个特性兼容性矩阵,可以回答您的问题:

    iOS Safari 不支持 getusermedia。

    根据 quaggaJS 文档 (https://github.com/serratus/quaggaJS#browser-support)

    Quagga 使用了许多尚未被所有浏览器实现的现代 Web API。 Quagga 有两种运行模式:

    1. 分析静态图像和

    2. 使用摄像头对直播中的图像进行解码。后者需要存在 MediaDevices API。您可以跟踪每种模式使用的 Web-API 的兼容性:

      • 静态图片
      • 直播

    我建议您在 iOS 上使用静态图像模式,因为不支持直播模式。

    【讨论】:

    • iOS 未升级,iphone 无法使用基于浏览器的不断增长的应用程序。 Android 做得非常好。
    • 我没听懂你
    • 我的意思是,iPhone 不适合 getusermedia。
    • Getusermedia 来自 Webrtc,它得到了 google 的大力支持,这就是为什么 safari 不支持它的原因。可能是苹果会创造自己的风味。
    • 是的,苹果增长缓慢,而谷歌正在快速采用。 iPhone 无缘无故地出现许多问题。
    猜你喜欢
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 2020-05-05
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    相关资源
    最近更新 更多