跳到主要内容

标准会议流程

在开始之前,请您再次确认您已经完成了开通音视频服务导入 SDK 以及初始化

通过 RCRTCEngine 设置本地事件回调监听

设置加入房间事件回调

方法

Dart
RCRTCEngine.onRoomJoined

返回值

参数描述
code接口结果码
errMsg失败原因

示例代码

Dart
engine.onRoomJoined = (int code, String? errMsg) {
if (code != 0) {
// 加入房间失败
} else {
// 加入房间成功
}
};

设置发布资源事件回调

方法

Dart
RCRTCEngine.onPublished

返回值

参数描述
RCRTCMediaType发布资源的类型
code接口结果码
errMsg失败原因

示例代码

Dart
engine.onPublished = (RCRTCMediaType type, int code, String? errMsg) {
// type 发布资源的类型
if (code != 0) {
// 发布失败
} else {
// 发布成功
}
}

设置取消发布资源事件回调

方法

Dart
RCRTCEngine.onUnpublished

返回值

参数描述
RCRTCMediaType取消发布资源的类型
code接口结果码
errMsg失败原因
Dart
engine.onUnpublished = (RCRTCMediaType type, int code, String? errMsg) {
// type 取消发布资源的类型
if (code != 0) {
// 取消发布失败
} else {
// 取消发布成功
}
}

设置订阅资源事件回调

方法

Dart
RCRTCEngine.onSubscribed

返回值

参数描述
userId远端用户 ID
RCRTCMediaType订阅资源的类型
code接口结果码
errMsg失败原因

示例代码

Dart
engine.onSubscribed = (String userId, RCRTCMediaType type, int code, String? errMsg) {
// userId 远端用户 ID
// type 订阅资源的类型
if (code != 0) {
// 订阅失败
} else {
// 订阅成功
}
}

设置取消订阅资源事件回调

方法

Dart
RCRTCEngine.onUnsubscribed

返回值

参数描述
userId远端用户 ID
RCRTCMediaType取消订阅资源的类型
code接口结果码
errMsg失败原因

示例代码

Dart
engine.onUnsubscribed = (String userId, RCRTCMediaType type, int code, String? errMsg) {
// userId 远端用户 ID
// type 取消订阅资源的类型
if (code != 0) {
// 取消订阅失败
} else {
// 取消订阅成功
}
}

通过 RCRTCEngine 设置远端事件回调监听

设置远端用户加入房间事件回调

方法

Dart
RCRTCEngine.onUserJoined

返回值

参数描述
roomId房间 ID
userId远端用户 ID

示例代码

Dart
engine.onUserJoined = (String roomId, String userId) {
// roomId 房间 ID
// userId 远端用户 ID
}

设置远端用户离开房间事件回调

方法

Dart
RCRTCEngine.onUserLeft

返回值

参数描述
roomId房间 ID
userId远端用户 ID

示例代码

Dart
engine.onUserLeft = (String roomId, String userId) {
// roomId 房间 ID
// userId 远端用户 ID
}

设置远端用户发布资源回调

方法

Dart
RCRTCEngine.onRemotePublished

返回值

参数描述
roomId房间 ID
userId远端用户 ID
RCRTCMediaType远端用户发布的资源类型

示例代码

Dart
engine.onRemotePublished = (String roomId, String userId, RCRTCMediaType type) {
// roomId 房间 ID
// userId 远端用户 ID
// type 远端用户发布的资源类型
}

设置远端用户取消发布资源回调

方法

Dart
RCRTCEngine.onRemoteUnpublished

返回值

参数描述
roomId房间 ID
userId远端用户 ID
RCRTCMediaType远端用户发布的资源类型

示例代码

Dart
engine.onRemoteUnpublished = (String roomId, String userId, RCRTCMediaType type) {
// roomId 房间 ID
// userId 远端用户 ID
// type 远端用户取消发布的资源类型
}

加入房间

以会议成员身份(meeting_member)加入音视频会议

方法

Dart
RCRTCEngine.joinRoom();

参数说明

参数类型必填说明
roomIdString房间 ID
setupRCRTCRoomSetup房间属性

示例代码

Dart
RCRTCRoomSetup setup = RCRTCRoomSetup.create(
type: RCRTCMediaType.audio_video,
role: RCRTCRole.meeting_member,
);
engine.joinRoom('会议号', setup);

本地预览

打开摄像头

方法

Dart
RCRTCEngine.enableCamera();

参数说明

参数类型必填说明
enableCamerabooltrue 打开摄像头,false 关闭摄像头

示例代码

Dart
engine.enableCamera(true);

设置预览窗口

方法

Dart
RCRTCEngine.setLocalView();

参数说明

参数类型必填说明
viewRCRTCViewSDK 提供的视频渲染 View

示例代码

Dart
RCRTCView view = await RCRTCView.create();
engine.setLocalView(view);

发布资源

发布音视频资源

方法

Dart
RCRTCEngine.publish();

参数说明

参数类型必填说明
RCRTCMediaTypeRCRTCMediaType发布的资源类型

示例代码

Dart
engine.publish(RCRTCMediaType.audio_video);

订阅远端用户资源

远端用户发布资源后,订阅远端用户音视频资源

方法

Dart
RCRTCEngine.subscribe();

参数说明

参数类型必填说明
userIdString远端用户 UserId
RCRTCMediaTypeRCRTCMediaType订阅的资源类型

示例代码

Dart
engine.subscribe(userId, RCRTCMediaType.audio_video);

远端用户发布资源后,设置远端用户预览窗口

方法

Dart
RCRTCEngine.setRemoteView();

参数说明

参数类型必填说明
userIdString远端用户 UserId
viewRCRTCViewSDK 提供的视频渲染 View

参数说明

Dart
RCRTCView view = await RCRTCView.create();
engine.setRemoteView(userId, view);