我希望能够打开/关闭会话中的用户数量。例如,在3个人的小组访谈中,我应该能够在讲话时减少一个人的声音。或当有人发出嘶嘶声时,我应该能够缩短它并在必要时重新打开它。我查看了Tokbox的文档,仅看到了其中的2种审核方法。
(https://tokbox.com/developer/guides/moderation/js/)
首先是迫使用户断开连接,
第二个是中断用户的广播(在这种情况下,我无法将用户链接回广播)。
答案 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}}事件的人都将停止发布其音频。您可以使用相同的方法向这些参与者发送另一个信号,以分别开始使用mutePublisher
和publisher.publishAudio(true)
发布音频或视频。
请记住,以上示例将向会议中的每个人发送信号。要在会话中向Session
发送信号,请调用publisher.publishVideo(true)
对象的signal()
方法并设置signal参数的Session
属性。