【问题标题】:OpenTok accessDenied issue in ChromeChrome 中的 OpenTok accessDenied 问题
【发布时间】:2014-02-04 17:14:25
【问题描述】:

我在使用 OpenTok 2 API 时遇到了一些问题。当我开始发布流并提示我允许或拒绝网站使用我的网络摄像头和麦克风时,如果我允许 allowed() 应该运行,但如果我拒绝 denied() 应该运行。

publisher.addEventListener('accessAllowed', allowed);
publisher.addEventListener('accessDenied', denied);

function allowed() {
    console.log('Allowed');
}

function denied() {
    console.log('Denied');
}

它在 Firefox 中按预期工作。然而,在 Chrome 中 accessAllowed 有效,accessDenied 无效。相反,我收到以下错误:

OT.Publisher.onStreamAvailableError PermissionDeniedError:
TB.exception :: title: Internal Error (2000) msg: Publisher failed to access camera/mic:

有什么想法吗?

【问题讨论】:

  • 这里是 tokbox 的工程师。我已经能够重现这个问题,并且我正在内部提交一个错误。我会在问题修复后回来回答这个问题,但我也会在下面提出一个解决方法。

标签: javascript google-chrome opentok tokbox


【解决方案1】:

这是 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”甚至不会触发。我会通知团队并继续调查。

【讨论】:

  • 感谢您的回答。修复错误后通知我。
  • 如果有,请在 chromium 中发布发布链接
  • @Ankur,opentok 方面有什么进展吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多