setClientRole method
- ClientRole role,
- [ClientRoleOptions options]
设置直播场景下的用户角色。
在加入频道前和加入频道后均可调用该方法设置用户角色。
如果你在加入频道后调用该方法成功切换用户角色,SDK 会触发以下回调:
- 本地:RtcChannelEventHandler.clientRoleChanged。
- 远端:RtcChannelEventHandler.userJoined 或 RtcChannelEventHandler.userOffline (
BecomeAudience
)。
Note
- 该方法仅在频道场景为直播(
setChannelProfile
中profile
设为LiveBroadcasting
)时生效。 - 从 v3.2.1 开始,该方法支持设置用户级别。
- 用户角色 (role) 确定用户在 SDK 层的权限,包含是否可以发送流、是否可以接收流、是否可以推流到 CDN 等。
- 用户级别 (level) 需要与角色结合使用,确定用户在其权限范围内,可以操作和享受到的服务级别。例如对于观众,选择接收低延时还是超低延时的视频流。不同的级别会影响计费。
Parameter role
直播场景中的用户角色,详见 ClientRole。
Parameter options
用户具体设置,包含用户级别,详见 ClientRoleOptions。
Implementation
@override
Future<void> setClientRole(ClientRole role, [ClientRoleOptions options]) {
return _invokeMethod('setClientRole', {
'role': ClientRoleConverter(role).value(),
'options': options?.toJson()
});
}