代码之家  ›  专栏  ›  技术社区  ›  Velocedge

#OpenTok如何在会话中枚举流?

  •  1
  • Velocedge  · 技术社区  · 7 年前

    Tokbox streamCreated being called same number of times client is called

    现在,当一个新参与者延迟加入会话时(在事件处理程序被移除之后),我不知道如何订阅他们的流,因为没有触发事件。我知道他们已经连接并且正在流媒体,因为我从他们的应用程序中得到一条消息,其中包含他们流媒体的ID。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Manik    7 年前

    这里是TokBox开发者的福音传道者。

    要了解服务器上会话中的流数,请执行以下操作: 客户端 ,我建议您收听以下课程活动:

    • streamCreated -当某人开始在会话中发布时激发
    • streamDestroyed -在会话中有人停止发布时激发。

    我将创建一个如下所示的对象,以保存会话中所有流的记录:

    const streams = {};
    session.on({
      streamCreated: event => {
        streams[event.stream.streamId] = event.stream;
      },
      streamDestroyed: event => {
        delete streams[event.stream.streamId];
      },
    };
    

    这将允许您访问流对象并按如下方式订阅:

    const stream = streams['f39c6-ae02-100c-9727-b3bf2']; // please note that this is a random stream Id
    const subscriber = session.subscribe(stream);
    

    如果您想知道服务器上会话中的流数 服务器端 ,你可以使用 Session Monitoring 听同样的事件。