簡體   English   中英

JavaScript 中的視音頻權限

[英]Video and audio permissions in JavaScript

我需要判斷一個人是否關閉了媒體彈出窗口或阻止了媒體彈出窗口

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 代碼非常不合作,該代碼試圖訪問媒體設備但未獲得用戶的許可。 因為網絡蠕蟲。

我在這方面取得了一些成功,看看用戶是否拒絕訪問:

再試一次。 如果您立即(在幾秒鍾內)收到錯誤,他們可能已經拒絕訪問這些設備。 如果需要更長的時間,他們可能正在查看權限對話框的重復。

不是一個很好的情況。 特別是如果您想向用戶解釋如何返回 go 並取消拒絕權限。 但這是監控時代必不可少的隱私功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM