簡體   English   中英

Chrome中的OpenTok accessDenied問題

[英]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.

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