Mic*_*l P 19 javascript ssl google-chrome html5-video webrtc
我一直在使用webkitGetUserMedia方法(getUserMedia通过adapter.js)在我的网络应用程序上为webRTC获取相机nad microhpone.我的服务器不安全(没有SSL证书).一切正常,直到我开始收到错误说:"getUserMedia()不再适用于不安全的起源.要使用此功能,您应该考虑将应用程序切换到安全的来源,例如HTTPS.请参阅https:// goo. gl/rStTGz了解更多详情."
我用谷歌搜索,我看到现在在Chrome中我需要使用navigator.mediaDevices.getUserMedia().我使用的是Chrome 47.0.2526.80 m,在此页面上https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia,它表示此版本应该支持此方法.但是,当我调用navigator.mediaDevices.getUserMedia时,我得到了未定义.所以现在我不能在Chrome中使用任何一种方法.
任何人都可以帮我解决这个问题.谢谢
Moh*_*eer 38
根据新的Chrome更新(来自Google Chrome 47),Chrome浏览器不再支持getUserMedia(),而不是http://(Unsecure Origin),它将适用于https://(Secure Origin)
为了发展目的,
1.localhost被视为HTTP上的安全源,因此如果您能够从localhost运行服务器,则应该能够在该服务器上测试该功能.
2.您可以使用--unsafely-treat-insecure-origin-as-secure="http://example.com"标志运行chrome (将"example.com"替换为您实际要测试的原点),这会将该来源视为此会话的安全.请注意,您还需要包含--user-data-dir=/test/only/profile/dir为标志创建新的测试配置文件.
参考:https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins
最后一次google-chrome更新使getUserMedia仅在安全起源上起作用.有一种方法可以使其工作,但仅用于开发目的.只需使用带有thoses选项的cmd运行chrome
--unsafely性治疗不安全的原产地,如安全="example.com"
和此选项使用新的用户配置文件
的user-data-DIR = /测试/只/简档/ DIR
FYI getUserMedia到目前为止在firefox上工作,但在我看来,它会推荐一个像google-chrome这样的安全来源.
在使用本地服务器在手机上进行测试时,我很难在 android chrome 上为我的 pwa 获取麦克风权限。(在我的桌面上运行良好。)上面的一些建议帮助我朝着正确的方向前进,但我想澄清一下。...我手机上的 Chrome 不允许触发权限请求,因为原始地址不安全。我发现这篇关于这个主题的文章非常有帮助: Enabling the Microphone/Camera in Chrome for (Local) Unsecure Origins Scott Carmichael。
他说,
在Chrome 中通过地址栏导航到chrome://flags/#unsafely-treat-insecure-origin-as-secure。
查找并启用视为安全的不安全来源部分。
添加要忽略其安全源策略的任何地址。(如果需要,包括端口号。)
保存并重新启动 Chrome。
只要您使用https,您仍然可以在Chrome 47中使用旧方法名称.名称更改与47的新安全源要求正交.看到其他答案.
对失踪方法:navigator.mediaDevices.getUserMedia放入一个旗帜下背在Chrome中,所以您必须打开chrome://flags/#enable-experimental-web-platform-features或使用最近adapter.js的版本,喜欢这里:/sf/answers/2396168841/.
| 归档时间: |
|
| 查看次数: |
46192 次 |
| 最近记录: |