无法访问Chrome中的麦克风

时间:2020-04-22 09:10:06

标签: javascript reactjs google-chrome permissions microphone

我使用IFrame将视频聊天嵌入到我的网站中。

     <Iframe
          url={"https://video.com"}
          width="100%"
          height="450px"
          id="myId"
          display="initial"
          position="relative"
          allow="fullscreen; camera; microphone"
          className="single-room__chat"
        />

它获得了所需的所有权限。

几天来它运行良好,所以我知道代码是正确的。

我已经开始听权限授予条件来限制应用程序中的其他内容,因此我已经删除了对我的公共网站和本地主机的所有授予的权限。现在,在进行更改之后,我可以再次授予摄像头许可,但麦克风却没有。它甚至都不问我。嵌入式站点只是说它无法访问麦克风(这是我授予权限之前通常所说的话。

我已经从Chrome的历史记录中清除了所有本地主机和公共站点的数据。 我什至想要嵌入式网站,并确保我在其中授予了权限。 没有任何帮助。

如果没有要求我授予网站许可,我该如何打电话给Chrome? 我可以编程获得权限提示显示的内容吗?

这是我正在使用的新代码,但是即使禁用,我仍然会遇到此问题:

  useEffect(() => {
    navigator.permissions
      .query({ name: "microphone" })
      .then((permissionStatus) => {
        console.log("minemicrophone", permissionStatus.state); // granted, denied, prompt

        permissionStatus.onchange = function () {
          console.log("minemicrophone", "Permission changed to " + this.state);
          if (this.state === "granted") setMicrophonePermissionGranted(true);
        };
      });

    navigator.permissions.query({ name: "camera" }).then((permissionStatus) => {
      console.log("minecamera", permissionStatus.state); // granted, denied, prompt

      permissionStatus.onchange = function () {
        console.log("minecamera", "Permission changed to " + this.state);
        if (this.state === "granted") setCameraPermissionGranted(true);
      };
    });
  },[]);

0 个答案:

没有答案