Webrtc OpenTok-订阅者未能在合理的时间内订阅流

Webrtc OpenTok-订阅者未能在合理的时间内订阅流,webrtc,opentok,Webrtc,Opentok,我正在使用OpenTok的js库为我的Web应用程序实现一个网络测试 为此,我创建了一个发布服务器,连接到会话,然后让订阅服务器连接到发布服务器的流 该测试正在其他浏览器上进行(我已经测试了Chrome和Internet Explorer),但在Firefox版本57.0.1上,我收到一个错误——“由于网络错误,流无法连接。”。确保您有一个稳定的网络连接,并且没有被防火墙阻止。” 确保在创建OpenTok会话时使用的是“路由”会话,而不是“中继”会话。还要确保将“testNetwork”属性传递

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

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

该测试正在其他浏览器上进行(我已经测试了Chrome和Internet Explorer),但在Firefox版本57.0.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);
    });
  });
});

添加testNetwork属性修复了它。非常感谢。但奇怪的是,它在Chrome中运行时却没有它。如果你不添加testNetwork属性,那么它只会在本地再次显示相同的流,而不会在网络上实际流式传输。不知道为什么在Firefox中不起作用,但它应该起作用。不确定。另一个不同点是Firefox正确地识别出没有音频源,但Chrome没有检测到。我不确定你的意思是什么。你能澄清一下吗?在打电话之前,我正在使用DetectRTC库检查用户是否连接了麦克风。即使我禁用了电脑中的麦克风,Chrome也不会抛出一个错误,说只要连接了网络摄像头,我的麦克风就被禁用,但正确地告诉我,我的相机连接了,但麦克风没有连接。这更有意义吗?