远端用户资源
用户进入音视频房间后,如果想让其他人看见自己的画面、听见自己的声音,需要发布(Publish)本地资源。如果想要看到别人的画面、听见别人的声音,需要订阅(Subscribe)其他人已发布的资源。
设置订阅资源事件回调监听
设置订阅资源事件回调
方法
Dart
RCRTCEngine.onSubscribed
返回值
| 参数 | 描述 |
|---|---|
userId | 远端用户 ID |
type | 订阅资源的类型 |
code | 接口结果码 |
errMsg | 失败原因 |
示例代码
Dart
engine.onSubscribed = (String userId, RCRTCMediaType type, int code, String? errMsg) {
if (code != 0) {
// 订阅失败
print('订阅用户 $userId 的 $type 资源失败: $errMsg');
} else {
// 订阅成功
print('订阅用户 $userId 的 $type 资源成功');
}
};
设置取消订阅资源事件回调
方法
Dart
RCRTCEngine.onUnsubscribed
返回值
| 参数 | 描述 |
|---|---|
userId | 远端用户 ID |
type | 取消订阅资源的类型 |
code | 接口结果码 |
errMsg | 失败原因 |
示例代码
Dart
engine.onUnsubscribed = (String userId, RCRTCMediaType type, int code, String? errMsg) {
if (code != 0) {
// 取消订阅失败
print('取消订阅用户 $userId 的 $type 资源失败: $errMsg');
} else {
// 取消订阅成功
print('取消订阅用户 $userId 的 $type 资源成功');
}
};
订阅
用户的订阅需要在收到远端用户刚刚发布资源的通知,即 onRemotePublished 时订阅。可调用 RCRTCEngine 中的 subscribe 来订阅某个远端用户的音视频资源,如果远端用户发布的视频资源开启了大小流功能,可以通过 subscribe 的 tiny 参数,来选择订阅大流或小流(默认)。
方法
Dart
RCRTCEngine.subscribe();
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
userId | String | 是 | 远端用户 ID |
type | RCRTCMediaType | 是 | 资源类型 |
tiny | bool | 否 | 是否订阅小流,默认 false(订阅大流) |
示例代码
订阅音视频资源
Dart
// 订阅远端用户的音视频资源
engine.subscribe(userId, RCRTCMediaType.audio_video);