【问题标题】:Video and audio permissions in JavaScriptJavaScript 中的视频和音频权限
【发布时间】:2021-06-18 08:42:33
【问题描述】:

我需要判断一个人是否关闭了媒体弹出窗口或阻止了媒体弹出窗口

const [permissions, setPermissions] = useState(false)

const handleClick = () => {
        setPermissions('pending');

        navigator.getUserMedia({ video: true, audio: true }, stream => {
            stream.getTracks().forEach(track => {
                return setPermissions(track.enabled);
            });
        }, (error) => {
            if(error ==='DOMException: Permission denied'){
                setPermissions('denied')
            }
            if(error === 'DOMException: Permission dismissed'){
                setPermissions('dismissed')
            }
            });
    };

我尝试使用返回的错误字符串,但它不起作用。我需要能够区分错误之间的区别。有没有人有这样做的好方法?谢谢!

【问题讨论】:

    标签: javascript reactjs permissions getusermedia navigator


    【解决方案1】:

    您无法以任何确切的方式区分差异。浏览器与试图访问媒体设备但未获得用户许可的 Javascript 代码非常不合作。因为网络蠕变。

    我在这方面取得了一些成功,看看用户是否拒绝访问:

    再试一次。如果您立即(在几秒钟内)收到错误,他们可能已经拒绝访问这些设备。如果需要更长的时间,他们可能正在查看权限对话框的重复。

    情况不是很好。特别是如果您想向用户解释如何返回并取消拒绝权限。但这是监控时代必不可少的隐私功能。

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 2021-12-16
      • 2016-03-07
      • 1970-01-01
      • 2014-05-06
      • 2014-05-28
      • 2017-12-31
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多