RTC多连接上的WebRTC PermissionDeniedError getUserMedia

RTC多连接上的WebRTC PermissionDeniedError getUserMedia,webrtc,getusermedia,Webrtc,Getusermedia,RTCMultiConnection上突然出现了PermissionDeniedError和getUserMedia错误,而一切都很正常。 而且不仅仅是铬 考虑到API是实验性的,并且受到不断变化的限制和浏览器兼容性的影响,并且知道这个问题已经被再次提出,没有看到任何有用的答案,在这种情况下,我冒昧地问 我不认为这些错误与 getUserMedia() no longer works on insecure origins. 上述问题出现在 Opera34.0和Chrome47,而Firef

RTCMultiConnection上突然出现了PermissionDeniedError和getUserMedia错误,而一切都很正常。 而且不仅仅是铬

考虑到API是实验性的,并且受到不断变化的限制和浏览器兼容性的影响,并且知道这个问题已经被再次提出,没有看到任何有用的答案,在这种情况下,我冒昧地问

我不认为这些错误与

getUserMedia() no longer works on insecure origins. 

上述问题出现在 Opera34.0和Chrome47,而Firefox40运行良好

这不是应用程序的bug或摄像头兼容性问题,因为我也在中进行了测试,在台式机和笔记本电脑中都出现了下面相同的错误

控制台日志错误

解决方案 更新为安全http,现在一切都运行良好,感谢。Chrome有一个关于非安全URL的媒体访问的通知,并且有一个w3c

  • 请确保您使用的是RTCMultiConnection v2.2.2
  • 确保您的域允许使用网络摄像头(视频):
    chrome://settings/contentExceptions#media-流式摄像机
  • 您似乎正在使用HTTPs。这是有道理的
  • 您似乎在使用{audio:true,vide:true},所以这里没有“screen:true”异常
  • 请尝试使用RTCMultiConnection v2.2.2构建的
  • 请尝试此演示以查看系统上可用的音频/视频设备的数量:

    如果Chrome上的网络摄像头被拒绝,您将在此处看到
    isWebcamAlreadyCaptured==false

    此外:

  • 请共享您的浏览器版本:
  • 请确保另一个应用程序(Firefox/etc)未使用相同的摄像头

  • 您是否使用自己的stun/ice/turn服务器进行NAT遍历?如果没有,可能您的密钥许可证已过期?我是否必须为WebRTC应用程序实现自己的STUN/TURN服务器?我现在正在使用外部资源。没有,但可能您的这些资源的密钥/许可证已经过期?上述问题出现在Opera 34.0和Chrome 47中,而Firefox 40工作正常。非常感谢您的回复,感谢您在webRTC.Muaz上所做的大量工作,我不是https。有必要吗?AppRTC也运行在ChromeEven embedded上,无法调用getUserMedia API。所以我们不能添加黑客。HTTPs似乎是目前唯一的选择,直到我们发现HTTP的非iframe攻击。
    name PermissionDeniedErrorconnection.onMediaError @ RTCMultiConnection.js:5592mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240
    RTCMultiConnection.js:5593 constraintName {
        "audio": {
            "mandatory": {},
            "optional": [
                {
                    "chromeRenderToAssociatedSink": true
                }
            ]
        },
        "video": true
    }connection.onMediaError @ RTCMultiConnection.js:5593mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240
    RTCMultiConnection.js:5594 message Either: 
     Media resolutions are not permitted.
     Another application is using same media device.
     Media device is not attached or drivers not installed.
     You denied access once and it is still denied.
     Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).connection.onMediaError @ RTCMultiConnection.js:5594mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240
    RTCMultiConnection.js:5595 original session Object {audio: true, video: true}