- Android
- iOS
- JavaScript
通话中的事件监听,可以使用通话实体 ICallSession
对象来进行注册。
mCallSession.addListener("SingleCallActivity", this);
回调事件定义如下。
interface ICallSessionListener {
//通话已接通
void onCallConnect();
//通话已结束
void onCallFinish(CallConst.CallFinishReason finishReason);
//通话中的错误回调
void onErrorOccur(CallConst.CallErrorCode errorCode);
// 用户被邀请(多人通话中使用)
void onUsersInvite(String inviterId, List<String> userIdList);
// 用户加入通话(多人通话中使用)
void onUsersConnect(List<String> userIdList);
// 用户退出通话(多人通话中使用)
void onUsersLeave(List<String> userIdList);
// 用户开启/关闭摄像头
void onUserCameraEnable(String userId, boolean enable);
// 用户开启/关闭麦克风
void onUserMicrophoneEnable(String userId, boolean enable);
// 用户声音大小变化
// userId 为 key,声音大小为 value
void onSoundLevelUpdate(HashMap<String, Float> soundLevels);
// 视频渲染第一祯回调
void onVideoFirstFrameRender(String userId);
}
通话中的事件监听,可以使用通话实体 id<JCallSession>
对象来进行注册。
[callSession addDelegate:self];
事件定义如下。
@protocol JCallSessionDelegate <NSObject>
@optional
/// 通话已接通
- (void)callDidConnect;
/// 通话已结束
/// - Parameter finishReason: 结束原因
- (void)callDidFinish:(JCallFinishReason)finishReason;
/// 用户被邀请(多人通话中使用)
/// - Parameter userId: 被邀请的用户 id
- (void)userDidInvite:(NSString *)userId;
/// 用户加入通话(多人通话中使用)
/// - Parameter userId: 用户 id
- (void)userDidConnect:(NSString *)userId;
/// 用户退出通话(多人通话中使用)
/// - Parameter userId: 用户 id
- (void)userDidLeave:(NSString *)userId;
/// 用户开启/关闭摄像头
/// - Parameters:
/// - enable: 是否开启
/// - userId: 用户 id
- (void)userCamaraDidChange:(BOOL)enable
userId:(NSString *)userId;
/// 用户开启/关闭麦克风
/// - Parameters:
/// - enable: 是否开启
/// - userId: 用户 id
- (void)userMicrophoneDidChange:(BOOL)enable
userId:(NSString *)userId;
/// 用户声音大小变化回调
/// - Parameter soundLevels: 由 userId 为 key,声音大小为 value 的字典
- (void)soundLevelDidUpdate:(NSDictionary<NSString *,NSNumber *> *)soundLevels;
/// 视频渲染第一祯回调
/// - Parameter userId: 用户 id
- (void)videoFirstFrameDidRender:(NSString *)userId;
/// 通话中的错误回调
/// - Parameter errorCode: 错误码
- (void)errorDidOccur:(JCallErrorCode)errorCode;
@end
暂未支持