产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
属性名 | 类型 | 描述 |
connected | 已经在麦位上的用户列表。 | |
invitees | 主播发出邀请的用户列表。 | |
applicants | 主播收到申请连麦的用户列表。 | |
candidates | 候选连麦的用户列表。 |
函数名 | 描述 |
创建对象实例。 | |
主播端事件回调。 | |
主播端事件回调。 | |
观众端事件回调。 | |
观众端事件回调。 | |
观众申请连麦。 | |
观众取消申请。 | |
主播接受申请。 | |
主播拒绝申请。 | |
主播邀请观众连麦。 | |
主播取消邀请。 | |
观众接受邀请。 | |
观众拒绝邀请。 | |
结束连麦会话。 |
void addHostListener(HostListener listener);
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
void removeHostListener(HostListener listener);
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
void addGuestListener(GuestListener listener);
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
void removeGuestListener(GuestListener listener);
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
Future<CompletionHandler> applyForSeat({required int seatIndex,required int timeout,String? extraInfo,});
参数名 | 类型 | 是否必填 | 描述 |
seatIndex | int | 必填 | 麦位索引,-1 表示自动分配麦位。 |
timeout | int | 必填 | 超时时间(单位:秒)。 |
extraInfo | String? | 必填 | 额外信息。 |
Future<CompletionHandler> cancelApplication();
Future<CompletionHandler> acceptApplication(String userID);
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 用户 ID。 |
Future<CompletionHandler> rejectApplication(String userID);
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 用户 ID。 |
Future<CompletionHandler> inviteToSeat({required String inviteeID,required int seatIndex,required int timeout,String? extraInfo,});
参数名 | 类型 | 是否必填 | 描述 |
inviteeID | String | 必填 | 被邀请用户 ID。 |
seatIndex | int | 必填 | 麦位索引,-1 表示自动分配麦位。 |
timeout | int | 必填 | 超时时间(单位:秒)。 |
extraInfo | String? | 必填 | 额外信息。 |
Future<CompletionHandler> cancelInvitation(String inviteeID);
参数名 | 类型 | 是否必填 | 描述 |
inviteeID | String | 必填 | 被邀请用户 ID。 |
Future<CompletionHandler> acceptInvitation(String inviterID);
参数名 | 类型 | 是否必填 | 描述 |
inviterID | String | 必填 | 邀请者用户 ID。 |
Future<CompletionHandler> rejectInvitation(String inviterID);
参数名 | 类型 | 是否必填 | 描述 |
inviterID | String | 必填 | 邀请者用户 ID。 |
枚举值 | 值 | 说明 |
timeout | 0 | 请求超时。 |
alreadySeated | 1 | 用户已在麦位上。 |
方法名 | 说明 |
onGuestApplicationReceived | 当观众申请连麦时触发此回调。 |
onGuestApplicationCancelled | 当观众取消连麦申请时触发此回调。 |
onGuestApplicationProcessedByOtherHost | 当观众的连麦申请被其他主播处理时触发此回调。 |
onHostInvitationResponded | 当主播发出的连麦邀请收到观众响应时触发此回调。 |
onHostInvitationNoResponse | 当主播发出的连麦邀请无响应时触发此回调。 |
方法名 | 说明 |
onHostInvitationReceived | 当收到主播的连麦邀请时触发此回调。 |
onHostInvitationCancelled | 当主播取消连麦邀请时触发此回调。 |
onGuestApplicationResponded | 当观众的连麦申请收到主播响应时触发此回调。 |
onGuestApplicationNoResponse | 当观众的连麦申请无响应时触发此回调。 |
onKickedOffSeat | 当观众被主播踢下麦位时触发此回调。 |
属性 | 类型 | 说明 |
connected | 已经在麦位上的用户列表。 | |
invitees | 主播发出邀请的用户列表。 | |
applicants | 主播收到申请连麦的用户列表。 | |
candidates | 候选连麦的用户列表。 |
// 创建 store 实例final store = CoGuestStore.create('live_room_123');// 定义监听器late final VoidCallback connectedListener = _onConnectedChanged;late final VoidCallback applicantsListener = _onApplicantsChanged;void _onConnectedChanged() {print('已连接用户: ${store.coGuestState.connected.value.length}');}void _onApplicantsChanged() {print('待处理申请: ${store.coGuestState.applicants.value.length}');}// 订阅状态变化store.coGuestState.connected.addListener(connectedListener);store.coGuestState.applicants.addListener(applicantsListener);// 添加主播事件监听器(主播使用)final hostListener = HostListener(onGuestApplicationReceived: (guestUser) {print('收到来自 ${guestUser.userName} 的申请');// 显示接受/拒绝的 UI},onHostInvitationResponded: (isAccept, guestUser) {print('观众 ${guestUser.userName} ${isAccept ? "接受了" : "拒绝了"}');},);store.addHostListener(hostListener);// 主播:接受申请final result = await store.acceptApplication('user_456');if (result.code == 0) {print('申请接受成功');}// 完成后取消订阅store.coGuestState.connected.removeListener(connectedListener);store.coGuestState.applicants.removeListener(applicantsListener);store.removeHostListener(hostListener);
文档反馈