如何取消订阅除当前用户和发布者之外的所有用户的视频

时间:2016-01-09 11:29:18

标签: javascript opentok

enter image description here

最初有一个公共房间,用户订阅或加入公共房间,然后每个用户都可以选择“私密化”#34;

任何订阅者点击"将其设为私有"选项,然后所有订阅者的其余部分将从浏览器断开连接,但与房间创建者或发布者联系。

但是对于其他订阅者,他们无法向点击者显示将其设为私有选项。因为此人与其他订阅者屏幕断开连接并且仅显示在发布者屏幕上。

所以,点击"使其成为私人"可以有1-1聊天。我的意思是点击"使其成为私人的人#34;选项和出版商。

但在Publisher屏幕上,应显示所有用户屏幕。

  function makeItPrivate() {
for (var i = 0 ; i < subscriberEvent.length; i++) {
  if (session.connection.id != subscriberEvent[i].connection.connectionId) {
    if (subscriberEvent[0].connection.connectionId !=  subscriberEvent[i].connection.connectionId) {
      session.forceUnpublish(stream);
    }
  }
}

}

1 个答案:

答案 0 :(得分:1)

您可以将其他用户与会话断开连接,也可以让他们取消发布该流,但您无法取消订阅已发布的流。唯一的方法是,如果其中一个订阅者希望与创建者私下聊天,他应该将信号发送给所有客户端,在接收到信号时,他们应该停止订阅以及在会话期间发布到会话连接的。

如果假设有3个用户,则User1是创建者,User2和User3是订阅者。如果User2想要私人聊天,那么他应该向所有客户发送信号。您可以看到如何从here发送信号。然后,在收到信号后,User3将取消订阅并取消发布会话。