API | 描述 |
通话过程中错误回调 | |
通话请求的回调 | |
通话取消的回调 | |
通话接通的回调 | |
通话结束的回调 | |
通话媒体类型发生改变的回调 | |
xxxx 用户拒绝通话的回调 | |
xxxx 用户不响应的回调 | |
xxxx 用户忙线的回调 | |
xxxx 用户加入通话的回调 | |
xxxx 用户离开通话的回调 | |
xxxx 用户是否有视频流的回调 | |
xxxx 用户是否有音频流的回调 | |
所有用户音量大小的反馈回调 | |
所有用户网络质量的反馈回调 | |
当前用户被踢下线 | |
在线时票据过期 |
TUICallEngine.instance.addObserver(TUICallObserver(onError: (int code, String message) {//您的回调处理逻辑},onCallCancelled: (String callerId) {//您的回调处理逻辑}, onCallBegin: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole) {//您的回调处理逻辑}, onCallEnd: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole, double totalTime) {//您的回调处理逻辑}, onCallMediaTypeChanged: (TUICallMediaType oldCallMediaType, TUICallMediaType newCallMediaType) {//您的回调处理逻辑}, onUserReject: (String userId) {//您的回调处理逻辑}, onUserNoResponse: (String userId) {//您的回调处理逻辑}, onUserLineBusy: (String onUserLineBusy) {//您的回调处理逻辑}, onUserJoin: (String userId) {//您的回调处理逻辑}, onUserLeave: (String userId) {//您的回调处理逻辑}, onUserVideoAvailable: (String userId, bool isVideoAvailable) {//您的回调处理逻辑}, onUserAudioAvailable: (String userId, bool isAudioAvailable) {//您的回调处理逻辑}, onUserNetworkQualityChanged: (List<TUINetworkQualityInfo> networkQualityList) {//您的回调处理逻辑}, onCallReceived: (String callerId, List<String> calleeIdList, String groupId, TUICallMediaType callMediaType) {//您的回调处理逻辑}, onUserVoiceVolumeChanged: (Map<String, int> volumeMap) {//您的回调处理逻辑}, onKickedOffline: () {//您的回调处理逻辑}, onUserSigExpired: () {//您的回调处理逻辑}));
TUICallEngine.instance.addObserver(TUICallObserver(onError: (int code, String message) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
code | int | 错误码 |
message | String | 错误信息 |
TUICallEngine.instance.addObserver(TUICallObserver(onCallReceived: (String callerId, List<String> calleeIdList, String groupId, TUICallMediaType callMediaType) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
callerId | String | 主叫 ID(邀请方) |
calleeIdList | List<String> | 被叫 ID 列表(被邀请方) |
groupId | String | 群组ID |
callMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio |
TUICallEngine.instance.addObserver(TUICallObserver(onCallCancelled: (String userId) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 用户的 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onCallBegin: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 Id | |
callMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio | |
callRole | 角色,枚举类型:主叫( TUICallRole.caller )、被叫(TUICallRole.called ) |
TUICallEngine.instance.addObserver(TUICallObserver(onCallEnd: (TUIRoomId roomId, TUICallMediaType callMediaType, TUICallRole callRole, double totalTime) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
roomId | 此次通话的音视频房间 Id | |
callMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio | |
callRole | Number | 角色,枚举类型:主叫(callRole = 1)、被叫(callRole = 2) |
totalTime | double | 此次通话的时长,单位 ms |
TUICallEngine.instance.addObserver(TUICallObserver(onCallMediaTypeChanged: (TUICallMediaType oldCallMediaType, TUICallMediaType newCallMediaType) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
oldCallMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio | |
newCallMediaType | 通话的媒体类型,示例: TUICallMediaType.video 或 TUICallMediaType.audio |
TUICallEngine.instance.addObserver(TUICallObserver(onUserReject: (String userId) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
res.userId | String | 拒绝用户的 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onUserNoResponse: (String userId) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 无响应用户的 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onUserLineBusy: (String onUserLineBusy) {//您的回调处理逻辑},));
参数 | 类型 | 含义 |
userId | String | 忙线用户的 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onUserJoin: (String userId) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 加入当前通话的用户 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onUserLeave: (String userId) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 离开当前通话的用户 ID |
TUICallEngine.instance.addObserver(TUICallObserver(onUserVideoAvailable: (String userId, bool isVideoAvailable) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 通话用户 ID |
isVideoAvailable | bool | 用户视频是否可用 |
TUICallEngine.instance.addObserver(TUICallObserver(onUserAudioAvailable: (String userId, bool isAudioAvailable) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
userId | String | 用户 ID |
isAudioAvailable | bool | 用户音频是否可用 |
TUICallEngine.instance.addObserver(TUICallObserver(onUserVoiceVolumeChanged: (Map<String, int> volumeMap) {//您的回调处理逻辑}));
参数 | 类型 | 含义 |
volumeMap | Map<String, int> | 音量表,根据每个 userId 可以获取对应用户的音量大小,音量最小值为0,音量最大值为100 |
TUICallEngine.instance.addObserver(TUICallObserver(onUserNetworkQualityChanged: (List<TUINetworkQualityInfo> networkQualityList) {//您的回调处理逻辑}));//TUINetworkQualityInfo的定义如下:class TUINetworkQualityInfo {String userId;TUINetworkQuality quality;TUINetworkQualityInfo({required this.userId, required this.quality});}// TUINetworkQuality的定义如下:enum TUINetworkQuality {unknown,excellent,good,poor,bad,vBad,down}
参数 | 类型 | 含义 |
networkQualityList | 网络状态,根据每个 userId 可以获取对应用户当前的网络质量 |
TUICallEngine.instance.addObserver(TUICallObserver(onKickedOffline: () {//您的回调处理逻辑}));
TUICallEngine.instance.addObserver(TUICallObserver(onUserSigExpired: () {//您的回调处理逻辑}));
本页内容是否解决了您的问题?