Tokbox调节切换开/关订户的视频/音频

时间:2018-07-19 17:34:44

标签: video-streaming opentok tokbox

我希望能够打开/关闭会话中的用户数量。例如,在3个人的小组访谈中,我应该能够在讲话时减少一个人的声音。或当有人发出嘶嘶声时,我应该能够缩短它并在必要时重新打开它。我查看了Tokbox的文档,仅看到了其中的2种审核方法。

https://tokbox.com/developer/guides/moderation/js/

首先是迫使用户断开连接,

第二个是中断用户的广播(在这种情况下,我无法将用户链接回广播)。

1 个答案:

答案 0 :(得分:1)

此处是TokBox开发人员的传播者。

主持人令牌不允许您静音其他流,因为您可以通过调用publishAudio(false)停止发布音频或通过调用subscribeToAudio(false)停止订阅音频。

您可以将应用程序设计为发送signal并将其发送,以便每个在连接会话中收听特定信号的人都将停止发布其音频。您可以添加自定义逻辑,以仅使某些参与者停止发布其音频。

让我们假设您已连接到会话,并引用了存储为session的{​​{3}}对象。您可以通过在signal对象上调用session方法来发送信号,如下所示:

session.signal(
  {
    data:'mutePublisher',
  },
  function(error) {
    if (error) {
      console.log("signal error ("
                   + error.name
                   + "): " + error.message);
    } else {
      console.log("signal sent.");
    }
  }
);

让我们假设有其他参与者连接到同一会话,并且他们也在发布音频。您可以像这样为signal事件设置事件监听器:

session.on({
  signal: function (event) {
    if (event.data === 'mutePublisher') {
      // mute publisher
      publisher.publishAudio(false);
    }
  }

如您在上面的代码中看到的,任何将signal设置为data的{​​{1}}事件的人都将停止发布其音频。您可以使用相同的方法向这些参与者发送另一个信号,以分别开始使用mutePublisherpublisher.publishAudio(true)发布音频或视频。

请记住,以上示例将向会议中的每个人发送信号。要在会话中向Session发送信号,请调用publisher.publishVideo(true)对象的signal()方法并设置signal参数的Session属性。