[英]OpenTok accessDenied issue in Chrome
我在使用OpenTok 2 API時遇到了一些麻煩。 當我開始發布流時,我被提示允許或拒絕網站使用我的網絡攝像頭和麥克風,如果我允許允許()運行,但如果我拒絕否認()應該運行。
publisher.addEventListener('accessAllowed', allowed);
publisher.addEventListener('accessDenied', denied);
function allowed() {
console.log('Allowed');
}
function denied() {
console.log('Denied');
}
它在Firefox中按預期工作。 但是在Chrome訪問允許的情況下,accessDenied不會。 相反,我收到以下錯誤:
OT.Publisher.onStreamAvailableError PermissionDeniedError:
TB.exception :: title: Internal Error (2000) msg: Publisher failed to access camera/mic:
有任何想法嗎?
這是OpenTok當前JS庫中的一個錯誤。 我確實有一個解決方法,可以讓你去,我會在修復錯誤時回來更新。
var waiting = false;
publisher.addEventListener('accessAllowed', function() {
waiting = false;
allowed();
});
publisher.addEventListener('accessDenied', function() {
waiting = false;
denied();
});
publisher.addEventListener('accessDialogOpened', function() {
waiting = true;
});
publisher.addEventListener('accessDialogClosed', function() {
setTimeout(function() {
if (waiting) {
waiting = false;
denied();
}
}, 0);
});
此解決方法略有限制,因為Chrome在拒絕訪問一次然后再次訪問該頁面時有一些奇怪之處。 如果用戶沒有更改他/她關於媒體權限的偏好,則視頻將繼續被拒絕,並且“accessDialogOpened”甚至不會觸發。 我會通知團隊並繼續研究這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.