同房间连麦
设置角色切换事件回调监听
设置角色切换事件回调
方法
Dart
RCRTCEngine.onLiveRoleSwitched
返回值
| 参数 | 描述 |
|---|---|
role | 切换后的角色 |
code | 接口结果码 |
errMsg | 失败原因 |
示例代码
Dart
engine.onLiveRoleSwitched = (RCRTCRole role, int code, String? errMsg) {
if (code == 0) {
// 切换成功
print('角色切换成功: ${role == RCRTCRole.live_broadcaster ? "主播" : "观众"}');
} else {
// 切换失败
print('角色切换失败: $errMsg');
}
};
设置远端用户角色切换事件回调
方法
Dart
RCRTCEngine.onRemoteLiveRoleSwitched
返回值
| 参数 | 描述 |
|---|---|
roomId | 房间 ID |
userId | 远端用户 ID |
role | 切换后的角色 |
示例代码
Dart
engine.onRemoteLiveRoleSwitched = (String roomId, String userId, RCRTCRole role) {
// roomId 房间 ID
// userId 远端用户 ID
// role 切换后的角色
print('用户 $userId 在房间 $roomId 中切换角色为: ${role == RCRTCRole.live_broadcaster ? "主播" : "观众"}');
};
观众上麦
观众上麦本质上是切换身份变成当前房间的主播,然后以主播身份继续直播相关操作。
切换为主播
当观众需要上麦,跟房间内的其他主播互动时,调用 switchLiveRole 方法,参数传 RCRTCRole.live_broadcaster 切换身份为主播。
方法
Dart
RCRTCEngine.switchLiveRole();
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
role | RCRTCRole | 是 | 切换的目标角色 |
示例代码
Dart
// 切换角色的回调
engine.onLiveRoleSwitched = (RCRTCRole role, int code, String? errMsg) {
if (code == 0) {
// 切换成功
} else {
// 切换失败
}
};
// 调用切换角色
engine.switchLiveRole(RCRTCRole.live_broadcaster);
观众下麦
主播下麦本质上是切换身份变成当前房间的观众,然后以观众身份继续观看直播等相关操作。
切换为观众
当身份为主播时,调用 switchLiveRole 方法,参数传 RCRTCRole.live_audience 切换身份为观众。
方法
Dart
RCRTCEngine.switchLiveRole();
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
role | RCRTCRole | 是 | 切换的目标角色 |