PWA应用程序中的OT.Publisher.onStreamAvailableError OT_MEDIA_ERR_ABORTED

时间:2018-11-27 01:01:13

标签: reactjs webrtc progressive-web-apps opentok

在PWA应用中启动会话时遇到问题。

在开始视频会话期间,用户遇到错误:

OT.Publisher.onStreamAvailableError OT_MEDIA_ERR_ABORTED

仅当用户将应用添加到主屏幕时,这种情况才会发生。

移动系统:iOS(Safari),Android(FF)。

如果该应用像通常的网站一样启动,则该应用可以正常运行。

请检查附件。

感谢任何帮助。

enter image description here

2 个答案:

答案 0 :(得分:1)

getUserMedia现在甚至在Firefox中也需要安全连接(HTTP S )。

在Firefox 68中,这表现为NotAllowedError,这是Chrome直到最近的工作方式。

从Firefox 69开始,getUserMedia方法将完全不存在于不安全连接(HTTP)中,与规范和Chrome的工作方式保持一致。

http://localhost应该仍然可以使用,因为它现在被认为是安全的。


来自此Mozilla博客:

Firefox 68行为 在Firefox 68中,getUserMedia仍会存在,但是从它返回的承诺将始终被NotAllowedError拒绝,而enumerateDevice仍将继续工作直到Firefox 69。 (Chrome 74之前的版本),并且应该与网络高度兼容。这是Firefox 69的中间垫脚石。

Firefox 69行为 在Firefox 69中,getUserMediaenumerateDevices都将抛出TypeError。这与Chrome 74+和规格现在的工作方式相符。

值得指出的是,此TypeError异常将来自在不安全的上下文中缺少navigator.mediaDevices对象;或者,如果使用了回调,则来自不推荐使用的navigator.mozGetUserMedia功能。任何在调用navigator.mediaDevices.getUserMedia()之前未对此进行测试的JavaScript都将立即引发异常,而不仅仅是拒绝其诺言。与Firefox 68相比,这可能会影响周围的代码,因此需要两个步骤。

答案 1 :(得分:0)

Safari添加到主屏幕后,Safari不支持用于访问相机的getUsermedia API。参见this answer。您可能还会发现https://webrtchacks.com/guide-to-safari-webrtc/有用。