连麦鉴权-语音通话

我们在声网的

Console中开启了连麦鉴权功能。

服务端生成了角色为Subcribe的RtcToken,回传给客户端。

客户端使用这个token加入频道后,依然能够发言,这是什么问题?

还需要额外设置什么吗?

用户加入频道设置的角色是Audience吗,可以按照文档检查下https://docs.agora.io/cn/Interactive%20Broadcast/faq/token_cohost?platform=Android

根据文档中介绍

app 开通连麦鉴权后,用户是否能上麦发言必须同时满足两个条件:

  • 申请 Token 时填入的 role 为 Publisher
  • setClientRole 方法中设置的 role 为 BROADCASTER

现在的情况是,我的Token是Subscriber身份。
setClientRole为BROADCASTER。
这种情况下还能说话,这应该不属于满足两个条件吧?

token是Subscriber身份那么setClientRole的角色也要是观众角色,你设置setClientRole为BROADCASTER还是主播角色,设置为Audience尝试解决

只要客户端setClientRole为BROADCASTER,那么就能发言

我的意思是,那生成token中时使用的角色,是没有意义的,对吧?

当然有意义呀.分为发流用户和接收用户。参数决定用户是否能在频道中发流。

  • Role_Publisher(1) :(默认)用户有发流权限,即用户可在频道中发流。
  • Role_Subscriber(2) :用户有接收权限,即用户可在频道中接收,但不可发流。

该参数仅在开启连麦鉴权后才生效。详情参考如何使用连麦鉴权功能?