我正在使用react-webcam为应用程序捕获自拍照。在本地主机上,react-webcam 可以完美运行,而在 HTTP 托管的网络服务器上,Chrome 默认拒绝访问摄像头。是否有网络摄像头访问或任何其他 npm 插件的解决方法可以在这里达到目的。
注意:HTTPS 支持的站点可以访问摄像头和麦克风。在这里,我只剩下 HTTP 选择了。
我正在使用react-webcam为应用程序捕获自拍照。在本地主机上,react-webcam 可以完美运行,而在 HTTP 托管的网络服务器上,Chrome 默认拒绝访问摄像头。是否有网络摄像头访问或任何其他 npm 插件的解决方法可以在这里达到目的。
注意:HTTPS 支持的站点可以访问摄像头和麦克风。在这里,我只剩下 HTTP 选择了。
react-webcam 使用规范规定的getUserMedia
API :
当在不安全的来源 [混合内容] 上时,鼓励用户代理警告使用 navigator.mediaDevices.getUserMedia、navigator.getUserMedia 及其开发人员工具、错误日志等中的任何前缀变体。 用户明确允许代理在不安全的来源上完全删除这些 API,只要他们一次删除所有API(例如,他们不应该只保留不安全来源上可用的前缀版本)。
Chrome,从版本 47 开始实现了这个安全策略(来源):
从 Chrome 47 开始,只允许来自安全来源的 getUserMedia() 请求:HTTPS 或 localhost。
因此,如果没有安全连接,您将无法访问麦克风或相机。
如果您将其用于开发环境并希望在您的手机上进行测试,您可以执行以下操作: