首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Agora.io :使用超时或api关闭未使用的通道

Agora.io :使用超时或api关闭未使用的通道
EN

Stack Overflow用户
提问于 2020-04-25 08:30:52
回答 2查看 984关注 0票数 5

我正在使用agora.io在android中实现1对1视频呼叫,我想知道:

  • 是否可以在通道上设置超时,以便在一段时间后(例如1小时)自动关闭。
  • (如果没有),可能是对agora.io的API调用,强制关闭频道。

我需要这样做,以确保如果用户离开频道,或者如果其中一个离开而另一个没有真正使用频道,我需要关闭未使用的频道.

EN

回答 2

Stack Overflow用户

发布于 2022-02-17 02:27:28

在Agora通道中是短暂的,当客户端应用程序使用joinChannel方法时,它会创建一个请求来加入一个通道,如果它不存在,Agora的平台将创建该通道并将用户添加到其中。当第二个客户端使用具有相同通道名称的joinChannel方法时,平台将将它们连接到同一个通道。当所有用户离开一个频道时,它都会打开几秒钟,然后Agora的平台会自动关闭/破坏频道。

有几种不同的方法来实现您描述的特性,其中的调用只持续一段时间,以及如何防止用户在呼叫中逗留。

我从计时电话开始。在您的应用程序/客户端中,您可以创建一个计时器,在XX分钟之后调用Agora的leaveChannel方法,从而迫使通道拥有一定的生命时间。

如果您不希望在客户机上出现这种情况,您可以创建一个服务器来跟踪两个人何时加入一个通道,并使用Kicking Rule within the Agora RESTful API。您的服务器将实现定时器,然后使用踢规则清除通道。当使用踢规则时,您不必指定用户,您只能指定一个通道,这将将所有用户从通道中删除。

注意:当使用只指定通道的踢规则时,请注意您设置的时间量,因为这会阻止所有用户加入该通道。

要解决挥之不去的用户,一种方法是使用userJoined回调来计数调用中的用户,并使用userLeft回调来检查是否所有其他用户都离开了通道。如果用户是通道中的最后一个用户,则可以在客户端上调用leaveChannel

另一种方法是使用Agora作为一个更健壮的信令层。您可以使用数据通道来同步两个用户何时应该加入一个通道,或者使用RTM的userLeft回调和getChannelMemberCount来计算通道中的总客户端,并更好地控制用户如何连接。

票数 2
EN

Stack Overflow用户

发布于 2021-07-21 08:10:42

没有预定关闭通道的功能。

但是Agora有一个功能可以在某人离开频道后处理愈伤组织事件。

当用户几秒钟后离开频道时,Agora发送广播消息。

其他用户则通过回调消息接收某个用户筛选通道的消息,然后使用事件处理程序(‘on’)强制关闭通道。

请看这份文件。

https://docs.agora.io/en/Voice/API%20Reference/web_ng/interfaces/iagorartcclient.html#on

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61422969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档