1

寻找建议看看,是否可以使用 Agora WebSDK 实现“呼叫等待”功能?我们有现场表演,主持人在节目期间接听观众电话。我们想要:

  1. 当观众打电话时,应该将电话排入队列。
  2. 当呼叫者处于等待状态时(在队列中),我们可能会向呼叫者发送“等待”音乐(但这可能不是绝对必要的)。
  3. 主机一次可以让一个呼叫者出队并接听电话。

我可以想到两种可能的方式,我们可以在现场直播中实现这一点。

  1. 一种是在主持人接听电话后,让来电观众重新以主持人身份加入频道。但是在队列管理方面会有很多“放弃”。
  2. 另一种方法是使用带外解决方案,例如 Twillio。在这种情况下,调用需要有一个单独的 WebRTC 连接。

有什么建议吗?

4

1 回答 1

1

您描述的“呼叫等待”功能不是使用 Agora 的 Video Web SDK 开箱即用的功能,使用 Agora 的 Video SDK 和 Agora 的 RTM Web SDK 很有可能。

您需要使用 Agora 的Real Time Messaging SDK来提供信令层。

使用RTM Channel Events,可以实现用户每次加入或离开 RTM 频道的回调以及“频道消息”回调。

观众成员可以向所有参与者发送“呼入”频道消息,从而出现在他们所有屏幕上的队列中。或者您可以选择通过管理员运行队列逻辑(添加一层审核)。

在这种情况下,一旦收到“呼入”消息,管理员用户的客户端就可以将用户添加到队列中(或在需要时拒绝)。使用频道消息,管理员客户端可以将频道消息发送到带有更新队列详细信息的“通用频道”。

管理员用户可以发送频道消息,让所有客户端知道何时选择“呼叫者”将角色从观众(等待)切换到广播者。这将最大限度地减少“手放弃”,因为管理员用户发送一条消息并且所有远程客户端都可以做出适当的反应。

于 2020-08-04T19:09:54.107 回答