【问题标题】:OpenTok - Subscriber failed to subscribe to a stream in a reasonable amount of timeOpenTok - 订阅者未能在合理的时间内订阅流
【发布时间】:2017-12-04 08:49:28
【问题描述】:

我正在使用 OpenTok 的 js 库为我的 Web 应用程序实现网络测试。

为此,我创建了一个发布者,连接到会话,然后让订阅者连接到发布者的流。

测试在其他浏览器上运行(我已经测试过 Chrome 和 Internet Explorer),但在 Firefox 版本 57.0.1 上我收到错误 - “由于网络错误,流无法连接。确保您有稳定的网络连接,并且没有被防火墙阻止。'

【问题讨论】:

    标签: webrtc opentok


    【解决方案1】:

    确保在创建 OpenTok 会话时使用的是“路由”会话,而不是“中继”会话。还要确保将“testNetwork”属性传递给 subscribe 方法。这是一个工作示例:

    // Sample code
    var session = OT.initSession(APIKEY, SESSIONID);
    
    session.connect(TOKEN, function(err) {
      if (err) {
        alert(err.message);
        return;
      }
      var publisher = session.publish();
      publisher.on('streamCreated', function(event) {
        session.subscribe(event.stream, null, {
          testNetwork: true
        }, function(err) {
          if (err) alert(err.message);
        });
      });
    });
    

    https://jsbin.com/quruzac/edit

    【讨论】:

    • 添加 testNetwork 属性修复了它。谢谢你。但奇怪的是它在没有它的情况下在 Chrome 中工作。
    • 如果您不添加 testNetwork 属性,那么它只会在本地再次显示相同的流,而不会真正通过网络流式传输并再次返回。不知道为什么这在 Firefox 中不起作用,但应该可以。
    • 不确定。另一个差异是 Firefox 正确识别出没有音频源,但 Chrome 没有检测到。
    • 我不确定你的意思。你能澄清一下吗?
    • 我正在使用 DetectRTC 库来检查用户在拨打电话之前是否连接了麦克风。即使我在我的计算机中禁用了麦克风,Chrome 也不会抛出一个错误,说我的麦克风已被禁用,只要我的网络摄像头已连接,而是正确地告诉我我的相机已连接但麦克风未连接。这更有意义吗?
    猜你喜欢
    • 2013-09-05
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多