【问题标题】:Twilio video calls: Permission denied in chrome onlyTwilio 视频通话:权限仅在 chrome 中被拒绝
【发布时间】:2020-12-27 01:56:33
【问题描述】:

我正在尝试使用 Twilio 实现视频通话。后端成功生成令牌,我正在使用它来建立视频通话。在从浏览器请求访问麦克风和摄像头的权限后,我在 chrome 中收到以下错误:

Error with Feature-Policy header: Unrecognized feature: 'speaker'.

log.js:138 2020-09-08 16:12:12.867Z | WARN in [createLocalTracks #1]: Call to getUserMedia failed: DOMException: Permission denied

运行时

 useEffect(() => {
    isWebRtcSupported();
      createRoom().then(response => {
        Video.connect(response.data.token)
          .then(room => {
            setCreatedRoomId(response.data.room);
            setRoomData(room);
            room.on('participantConnected', participantConnected);
            room.on('participantDisconnected', participantDisconnected);
            room.participants.forEach(participantConnected);
          })
          .catch(err => setError(error)));
    }

我正在使用 twilio-video 进行连接。在 Firefox 和 Safari 以及 localhost 上的任何浏览器(在任何浏览器中)中,连接都会成功。在浏览器中重置权限没有帮助,授予 Chrome 中的权限。能否请您提示一下可能是什么问题?

【问题讨论】:

    标签: reactjs google-chrome twilio twilio-video


    【解决方案1】:

    所以,问题出在后端部分的功能策略上。后端代码使用 JHipster 生成,包含以下代码:

    .featurePolicy("geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none';

    所以基本上禁止使用麦克风和摄像头。将none 更改为* 解决了问题,并且浏览器能够访问音频和视频流。 有趣,但 Mozilla 和 Safari 似乎忽略了这些指令,因为在这些浏览器中一切正常,无需更改任何策略。

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 1970-01-01
      • 2020-06-11
      • 2015-08-30
      • 2019-02-26
      • 2012-01-11
      • 1970-01-01
      相关资源
      最近更新 更多