对讲机机制实现方法请教

最近有一个项目需要实现对讲机功能。 就是在一个频道,同时只能有一人talk。

我们的测试方案是,进入到频道的都知join不pulish。 当有人触发 对讲按钮后,其他端不能再触发。然后开始pulish,松开按钮后unpulish。方案能行的通,但是貌似耗时太多了。我们期望能做到像真实对讲机一样的响应灵敏。

我们另外的方案是,进入到频道后,推流并且接受远端流。但是默认 关闭麦克风,当时触发对讲按钮后开启麦克风。等等。 但是我们看文档语音最多只能17人在线,这满足不了我们几十人的场景

请问又另外的高效的方法吗

还有个方案的话:用直播模式,初始的client role全设置为观众, 谁点击按钮了就 上麦,clientrole变为主播,然后结束后在切换为 观众。直播模式中只有主播可以发流的。不知道能不能满足你的需求,应该比方案一简单点

感谢,我们试一下

我们试了下,使用直播模式,感觉和我们第一个方案类似。只是逻辑的判断提前了,切换主播后,后面的方案差不做啊。 设置接受指定流,开始推流。还是有延迟。 请问还有其他比较好的方法嘛

目前是没有更方便的上下麦操作了