本地用户资源
用户进入音视频房间后,如果想让其他人看见自己的画面、听见自己的声音,需要发布(Publish)本地资源。如果想要看到别人的画面、听见别人的声音,需要订阅(Subscribe)其他人已发布的资源。
设置发布资源事件回调监听
设置发布资源事件回调
方法
Dart
RCRTCEngine.onPublished
返回值
参数 | 描述 |
---|---|
type | 发布资源的类型 |
code | 接口结果码 |
errMsg | 失败原因 |
示例代码
Dart
engine.onPublished = (RCRTCMediaType type, int code, String? errMsg) {
if (code != 0) {
// 发布失败
print('发布 $type 资源失败: $errMsg');
} else {
// 发布成功
print('发布 $type 资源成功');
}
};
设置取消发布资源事件回调
方法
Dart
RCRTCEngine.onUnpublished
返回值
参数 | 描述 |
---|---|
type | 取消发布资源的类型 |
code | 接口结果码 |
errMsg | 失败原因 |
示例代码
Dart
engine.onUnpublished = (RCRTCMediaType type, int code, String? errMsg) {
if (code != 0) {
// 取消发布失败
print('取消发布 $type 资源失败: $errMsg');
} else {
// 取消发布成功
print('取消发布 $type 资源成功');
}
};
发布音视频资源
开发者可在 joinRoom
成功后,通过 RCRTCEngine
中的 publish
方法,发布麦克风和摄像头采集的资源。
方法
Dart
RCRTCEngine.publish();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
type | RCRTCMediaType | 是 | 发布的资源类型 |
示例代码
发布音视频资源
Dart
// 发布音视频资源,即麦克风、摄像头采集数据
engine.publish(RCRTCMediaType.audio_video);
发布纯音频资源
Dart
// 发布纯音频资源,即麦克风采集数据
engine.publish(RCRTCMediaType.audio);
发布纯视频资源
Dart
// 发布纯视频资源,即摄像头采集数据
engine.publish(RCRTCMediaType.video);
取消发布音视频资源
当需要取消发布时,可调用 RCRTCEngine
中的 unpublish
来取消发布麦克风和摄像头采集的资源。
方法
Dart
RCRTCEngine.unpublish();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
type | RCRTCMediaType | 是 | 取消发布的资源类型 |
示例代码
取消发布音视频资源
Dart
// 取消发布音视频资源,即麦克风、摄像头采集数据
engine.unpublish(RCRTCMediaType.audio_video);
取消发布纯音频资源
Dart
// 取消发布纯音频资源,即麦克风采集数据
engine.unpublish(RCRTCMediaType.audio);
取消发布纯视频资源
Dart
// 取消发布纯视频资源,即摄像头采集数据
engine.unpublish(RCRTCMediaType.video);
提示
取消发布接口通常跟发布接口配对使用,但如果是用户想要退出房间,则不需要调用取消发布方法,在调用退出房间接口时,SDK 内部会自动进行取消处理。