方法 | 描述 |
NemoSDK 单例 | |
初始化 SDK |
方法 | 描述 |
SDK 用户登录(建议使用loginExtUserId) | |
小鱼账号登录(建议使用loginXYAccount) | |
三方授权登录(建议使用loginExtToken) | |
SDK用户认证登录 | |
小鱼账号加密登录 | |
三方授权登录 | |
单点登录 | |
获取登录状态 | |
获取 ws 连接状态 | |
logout | 退出登录 |
刷新鉴权token |
方法 | 描述 |
开始呼叫 | |
是否在会议中 | |
answer | 接受会议邀请 |
reject | 拒绝会议邀请 |
hangup | 挂断当前会议 |
挂断当前会议,可选择是否结束录制 | |
结束会议 |
方法 | 描述 |
创建 video 视图 | |
更新 video 视图 | |
自定义请流 | |
订阅参会者 | |
请求参会者 |
方法 | 描述 |
开启音频,调用此方法来创建音频单元 | |
结束音频,调用此方法来销毁音频单元 | |
打开/关闭本地麦克风 | |
打开/关闭本地麦克风,可选择关闭原因 | |
麦克风是否静音 | |
开启/关闭扬声器 | |
外放,mute后扬声器和听筒无音频播放 | |
外放是否静音 | |
开启/关闭语音模式 | |
打开/关闭本地视频 | |
视频是否关闭 | |
切换摄像头 | |
设置本地视频方向 | |
设置本地视频镜像 | |
获取本地视频是否镜像 | |
设置手电筒 | |
手电筒开关状态 | |
设置手电筒等级 | |
音频旁路开关 | |
设置本地最大发送视频分辨率 | |
获取语音能量值 | |
根据 ID 获取指定视频流 | |
获取一帧视频数据 | |
遥控远端硬件终端 | |
DTMF |
方法 | 描述 |
设置本地视频预览视图 | |
设置虚拟背景样式 | |
设置完成,释放占用资源
|
方法 | 描述 |
设置美颜 | |
设置滤镜 |
方法 | 描述 |
获取会控地址 | |
举手发言 | |
取消举手 | |
结束发言 | |
signIn | 签到 |
方法 | 描述 |
检查当前会议是否支持通话字幕 | |
设置通话字幕语言 |
方法 | 描述 |
检查录制权限 | |
检查存储空间 | |
开始录制 | |
结束录制 |
方法 | 描述 |
开启白板 | |
关闭白板 | |
白板状态 | |
发送白板数据 |
方法 | 描述 |
开启标注 | |
关闭标注 | |
发送标注数据 |
方法 | 描述 |
开始共享 | |
结束共享 | |
发送共享数据 | |
扩展进程开启时初始化配置 | |
扩展进程结束 | |
发送共享屏幕数据(v2.29.3及以上版本) |
方法 | 描述 |
人脸识别开关 | |
电子铭牌开关(使用电子铭牌必须开启人脸识别) | |
人脸识别和电子铭牌切换 | |
获取人脸信息 |
方法 | 描述 |
开始网络测试 | |
结束网络测试 | |
获取线路配置 | |
保存线路配置 | |
删除线路配置 | |
测试代理服务器 | |
设置代理服务器 |
方法 | 描述 |
获取统计信息 | |
获取 DBA 统计信息 | |
获取 layout 统计信息 | |
获取视频发送统计信息 | |
获取视频接收统计信息 | |
获取音频发送统计信息 | |
获取音频接收统计信息 | |
获取其他统计信息 |
方法 | 描述 |
获取 Url 签名结果 | |
上传日志 | |
获取 SDK 版本号 |
方法 | 描述 |
登录结果回调 | |
与小鱼的连接状态回调 | |
登出回调 | |
被踢下线回调 | |
呼叫成功状态回调 | |
来电的回调 | |
分享内容回调 | |
视频信息改变回调 | |
单个视频流信息回调 | |
参会者信息变化回调 | |
全量参会者信息变化回调 | |
会控回调 | |
出入会通知回调 | |
录制状态回调 | |
视频状态变化回调 | |
网络质量回调 | |
呼叫中心提示回调 | |
音频单元发生中断回调 | |
音频单元初始化失败回调 | |
日志上传结果回调 | |
白板状态改变回调 | |
白板消息回调 | |
标注状态变化回调 | |
接收到标注消息回调 | |
同传字幕回调 | |
旁路音频数据回调 | |
字幕回调 | |
会控互动回调 | |
会议锁定回调 | |
主持人状态变更回调 | |
联席主持人状态变更回调 | |
会议室所有者回调 | |
会控请求操作您的摄像头或麦克风回调 | |
会控清除举手发言回调 | |
发言者回调 | |
啸叫检测回调 | |
系统音量变化回调 | |
本地麦克风音量回调 | |
代理服务器测试回调 | |
人脸信息回调 | |
错误回调,详见错误码 |
获取 SDK 单例
+ (NemoSDK *)sharedInstance;
返回值:
初始化 SDK,此接口参数settings包含企业ID、clientID、clientSecret、服务器地址、socks代理和一些控制开关 初始化之后想要更改企业ID(extID)、服务器地址(server、httpPort、httpsPort)、socks代理(SocksProxyIp、SocksProxyPort、SocksProxyUserName、SocksProxyPassword),需要先退出登录,重新初始化相关参数,最后再重新登录,此时才能正确切换环境。
参数:
- (void)shareNemoSessionSettings:(XYSettings *)settings;
///示例
///初始化SDK,适用于v2.29.6及以上版本
XYSettings *settings = [XYSettings settings];
settings.extID = @"您的企业ID";
settings.clientID = @"您的clientID";
settings.clientSecret = @"您的clientSecret";
settings.server = @"sdkapi.xylink.com"
[[NemoSDK sharedInstance] shareNemoSessionSettings:settings];
///初始化SDK,适用于v2.29.6以下版本
XYSettings *settings = [XYSettings settings];
settings.extID = @"您的企业ID";
settings.server = @"cloud.xylink.com"
[[NemoSDK sharedInstance] shareNemoSessionSettings:settings];
三方账户登录接口,登录之后才可以使用SDK提供的会议服务,为了避免重复登录,请您务必在登录前调用isLogined接口检查当前是否已经登录 extUserId是SDK标识用户的唯一凭据,每位用户只能有唯一一个extUserId与之对应
参数:
- (void)loginExternalAccount:(NSString * _Nonnull)extUserId
userName:(NSString * _Nullable)userName
enterpriseId:(NSString *)enterpriseId;
回调方法:
1.登录结果
- (void)nemoSDKDidLoginResult:(nullable XYUser *)user success:(BOOL)success;
2.ws 连接状态
- (void)nemoSDKDidConnectStateWithNemo:(BOOL)isConnect;
小鱼账号登录接口,您可以通过小鱼易连App注册账号后使用此接口登录SDK,小鱼易连App下载地址:https://www.xylink.com/download
参数:
- (void)loginXYLinkAccount:(NSString *)userName
password:(NSString *)password;
三方鉴权登录接口
参数:
- (void)loginExternalAccountByToken:(NSString *)account
token:(NSString *)token;
三方账户认证登录接口,登录之后才可以使用SDK提供的会议服务,为了避免重复登录,请您务必在登录前调用isLogined接口检查当前是否已经登录 extUserId是SDK标识用户的唯一凭据,每位用户只能有唯一一个extUserId与之对应(开始支持版本:v3.3.4)
参数:
- (void)loginExtUserId:(NSString *)extUserId
authCode:(NSString *)authCode
displayName:(NSString *)displayName;
小鱼账号加密登录,您可以通过小鱼易连App注册账号后使用此接口登录SDK(开始支持版本:v3.3.4)
参数:
- (void)loginXYAccount:(NSString *)account
password:(NSString *)password
countryCode:(NSString *_Nullable)countryCode;
三方授权登录(开始支持版本:v3.3.4)
参数:
- (void)loginExtToken:(NSString *)token;
单点登录(开始支持版本:v3.3.4)
参数:
- (void)loginExtToken:(NSString *)token;
获取登录状态
- (BOOL)isLogon;
返回值:
ws 连接状态
- (BOOL)isWSConnected;
返回值:
退出登录
- (void)logout;
回调方法:
- (void)nemoSDKDidLogoutState:(BOOL)success;
- (void)nemoSDKDidConnectStateWithNemo:(BOOL)isConnect;
刷新鉴权token(开始支持版本:v2.29.6)
参数:
block 回调:
- (void)refreshToken:(NSString *)refreshToken
completion:(void(^)(XYUser *user))completion;
发起呼叫,调用此接口即可进入小鱼会议室,请监听nemoSDKDidConnectStateWithNemo:接口先查看是否连接服务器,再做呼叫操作。不要在loginResult:之后直接调用呼叫操作,调用此接口即可进入小鱼会议室,您需要监听会议状态回调接口来确认是否入会成功,根据返回的呼叫状态参数处理相应的逻辑
参数:
- (void)makeCall:(NSString *)number
password:(NSString *)password
config:(NemoCallConfig * _Nullable)config;
回调方法:
///(开始支持版本:v3.3.1)
- (void)nemoSDKDidCallStateChange:(NemoMeetingStateInfo *)info;
///(开始支持版本:v2.29.0)
- (void)nemoSDKDidCall:(NSString *)number
stateChanged:(NemoCallState)callState
reason:(NSString *)reason;
获取当前是否在会中
- (BOOL)isInMeeting;
返回值:
接受会议邀请 回调方法 ”nemoSDKDidCall“
- (void)answer;
拒绝会议邀请 回调方法 ”nemoSDKDidCall“
- (void)answer;
挂断当前会议 回调方法 ”nemoSDKDidCall“
- (void)hangu;
挂断当前会议,可选择是否结束录制 回调方法 ”nemoSDKDidCall“(开始支持版本:v3.3.2)
参数:
- (void)hangup:(BOOL)endRecord;
结束会议,会议室所有者可以结束全体会议。 回调方法 ”nemoSDKDidCall“(开始支持版本:v3.3.4)
- (void)endMeeting;
创建 video 视图,渲染视频流接口,通过nemoSDKDidVideoChanged回调接口拿到视频流信息后,调用此接口将视频渲染到您的UI上
参数:
- (void)setupVideo:(XYRTCVideoCanvas *)videoCanvas;
更新 video 视图,已经渲染并展示的是视频流,如果状态发生变化,需要调用此接口更新
参数:
- (void)updateVideo:(XYRTCVideoCanvas *)videoCanvas;
自定义请流,通过nemoSDKDidRosterChanged回调接口拿到参会者信息之后,您可以根据业务需求选择性的请求一路或多路视频流,此接口调用后会触发nemoSDKDidVideoChanged回调,返回指定参会者的视频流数据 注意:此接口最多支持一次请求6路远端视频流
参数:
///(开始支持版本:v3.3.)
- (void)setCustomLayout:(NSArray<NemoCustomLayoutInfo *> *)layoutInfo;
///(开始支持版本:v2.29.0)
- (void)setCustomLayout:(NemoCustomLayoutInfo *)layoutInfo;
回调方法:
- (void)nemoSDKDidVideoChanged:(NSArray<NemoLayout *> *)videos;
订阅参会者,SDK默认最多返回20个参会者信息,如果您会议中超过20人,想看20以后的参会者画面,则需要调用此接口订阅对应的参会者,订阅后,nemoSDKDidRosterChanged接口会返回订阅的人
参数:
- (void)subscribeRoster:(NSArray *)devices;
回调方法:
- (void)nemoSDKDidRosterChanged:(NemoRosters *)rosters;
请求参会者,如果新想查看第20个以后的参会这信息,可以调用此接口分页获取参会者信息
参数:
- (void)requestRoster:(int)startIndex length:(int)length;
回调方法:
- (void)nemoSDKDidRosterChanged:(NemoRosters *)rosters;
开启音频,调用此方法来创建音频单元,入会成功后调用此接口(开始支持版本:v2.29.2)
- (void)startAudio;
结束音频,调用此方法来销毁音频单元,会议结束后调用此接口
- (void)stopAudio;
打开/关闭本地麦克风,关闭后,本地语音不会发送到远端
参数:
- (void)enableAudioOfMic:(BOOL)enable;
打开/关闭本地麦克风,可选择关闭原因,关闭后,本地语音不会发送到远端(开始支持版本:v3.3.2)
参数:
- (void)enableAudioOfMic:(BOOL)enable muteReason:(NemoMuteReason)muteReason;
麦克风是否静音
- (BOOL)isLocalMicMuted;
开启/关闭扬声器,会议中切换扬声器和听筒时调用
参数:
- (void)enableAudioOfSpeaker:(BOOL)enable;
外放,mute后扬声器和听筒无音频播放,本地听不到远端的语音
参数:
- (void)setSpeakerMute:(BOOL)mute;
外放是否静音
- (BOOL)isSpeakerMuted;
开启/关闭语音模式
参数:
- (void)audioMode:(BOOL)audio;
打开/关闭本地视频
参数:
- (void)enableVideo:(BOOL)enable;
视频是否关闭
- (BOOL)isLocalVideoMuted;
切换摄像头
参数:
- (void)switchCamera:(AVCaptureDevicePosition)direction;
设置本地视频方向
参数:
- (void)setVideoOrientation:(NemoVideoOrientation)orientation;
设置本地视频镜像,只有在前置摄像头时设置生效,后置摄像头默认不镜像,前置摄像头默认镜像(开始支持版本:v3.3.1)
参数:
- (void)setLocalVideoFlip:(BOOL)flip;
获取当前本地视频是否镜像(开始支持版本:v3.3.1)
- (BOOL)isLocalVideoFlipping;
设置手电筒,手电筒只有在后置摄像头模式下才能打开
参数:
- (void)switchTorchMode:(AVCaptureTorchMode)mode;
手电筒开关状态
- (AVCaptureTorchMode)torchMode;
设置手电筒等级
参数:
- (void)torchLevel:(float)level;
音频旁路开关,需要在入会前设置,入会后会触发相关回调
参数:
- (void)setMicDataByAEReadyEnabled:(BOOL)enable;
回调方法:
- (void)nemoSDKDidMicDataByAEReady:(NSInteger)size data:(void *)data;
设置本地最大发送视频分辨率(开始支持版本:v2.29.2)
参数:
- (void)setVideoConfiguration:(NemoVideoDimension)dimension;
获取语音能量值
block 回调:
- (void)getAudioPeakMetersCompletion:(void (^)(bool peak, NSArray *meters))completion;
根据 ID 获取指定视频流
参数:
block 回调:
- (void)getVideoStreamWithID:(NSString *)streamID
completion:(void (^)(int size, void *stream))completion;
获取一帧视频数据(开始支持版本:v3.3.2)
参数:
- (NSData *)getVideoDataBySourceId:(NSString *)sourceId;
返回值:
遥控远端硬件终端
参数:
- (void)farEndHardwareControl:(NSString *)participantID operation:(NemoFECCOperation)operation;
向远端发送 DTMF 消息
参数:
- (void)dialDtmfWithRemoteID:(long)remoteID dataType:(XYDataType)dataType content:(NSString *)content;
设置本地视频预览视图,调用此方法会占用摄像头,设置完成后请务必调用finishSetVideoPreview释放资源(开始支持版本:v2.29.2)
参数:
- (void)setVideoPreview:(UIView *)preview;
设置虚拟背景样式,支持iOS12及以上系统(开始支持版本:v2.29.2)
参数:
- (void)setVirtualBackgroudMode:(NemoVirtualBackgroundMode)mode
image:(UIImage * _Nullable)image
imageWidth:(NSInteger)width
imageHeight:(NSInteger)height;
设置完成,释放占用资源(开始支持版本:v2.29.2)
- (void)finishSetVideoPreview;
设置美颜(开始支持版本:v3.3.1)
参数:
- (void)setVideoBeautyEffect:(NemoBeautyEffectType)type level:(NSInteger)level;
设置滤镜(开始支持版本:v3.3.1)
参数:
- (void)setVideoFilterEffect:(NemoVideoFilterType)type level:(NSInteger)level;
获取会控地址
- (NSString *)getMeetingHost;
返回值:
举手发言,当主持人设置了全场静音并且不允许用户解除静音时,想要说话必须先 举手发言,等待主持人同意,主持人同意的动作从 nemoSDKDidConferenceManagementStateChanged 接口回调
- (void)informManagerForRequestToSpeak;
取消举手,举手发言后主持人还未同意时,可以取消举手发言
- (void)informManagerForCancelSpeak;
结束发言,发言结束后,调用此接口告知会控
- (void)informManagerForEndSpeak;
签到,主持人发起签到后,会中用户会收到签到回调,调用此接口完成签到动作,参数interactiveInfo从互动回调中获得,无需改动,传给SDK即可,回调success=yes代表签到成功,success=no代表签到失败,签到失败时,responseObject返回错误信息(开始支持版本:v2.29.6)
参数:
block 回调:
- (void)signIn:(NemoInteractiveInfo *)interactiveInfo completion:(void (^)(BOOL success, id responseObject))completion;
检查是否支持通话字幕(开始支持版本:v3.3.3)
- (BOOL)isSupportAiCaption;
设置通话字幕语言(开始支持版本:v3.3.3)
参数:
- (void)setSubtitleLanguage:(NSString *)language;
检查录制权限
参数:
block 回调:
- (void)checkPermissionWithMeetingNumber:(NSString *)meetingNumber
completion:(void (^)(BOOL isRecordable, NSString *recordingUrl, NS *errorInfo))handler;
检查存储空间
参数:
block 回调:
- (void)checkSorageSpaceWithRecordingUrl:(NSString *)recordingUrl
completion:(void (^)(BOOL isStorage,NSError *errorInfo))handler;
开始录制,在开启录制前,请务必检查 录制权限 和 存储空间,确保有录制权限并且有可用存储空间的情况下再开启录制
参数:
- (void)startRecordingWithRecordingUrl:(NSString *)recordingUrl;
结束录制,录制结束后,录制的视频可以通过小鱼服务端api获取 "https://openapi.xylink.com/api_server/api"
参数:
- (void)stopRecordingWithRecordingUrl:(NSString *)recordingUrl;
开启白板,主动发起白板时调用,如果是会中远端用户发起的白板则不需要调用此接口
- (void)startWhiteboard;
关闭白板,主动发起的白板,需要关闭时调用
- (void)stopWhiteboard;
回调方法:
- (void)nemoSDKWhiteboardDidStateChanged:(NemoWhiteboardRemoteState)remoteState
reason:(NSString *)reason;
白板状态
- (NemoWhiteboardRemoteState)whiteboardState;
返回值:
发送白板数据,发送本地白板画线等消息,消息格式请参阅demo
参数:
- (void)sendDataWhiteboard:(nullable id)data type:(NemoWhiteboardOperationState)type;
开启标注(开始支持版本:v2.29.3)
- (void)startAnnotation;
关闭标注(开始支持版本:v2.29.3)
- (void)stopAnnotation;
回调方法:
- (void)nemoSDKDidAnnotationStateChanged:(NemoAnnotationStatus)state;
发送标注数据,消息数据类型详情请查看demo(开始支持版本:v2.29.3)
参数:
- (void)sendAnnotationMessage:(NSString *)message;
开始共享,分享屏幕仅支持iOS12及以上系统(开始支持版本:v2.29.3)
参数:
- (void)startContentSharing:(NemoShareContentType)type bundleID:(NSString *_Nullable)bundleID;
回调方法:
- (void)nemoSDKDidContentShareStateChanged:(NemoShareContentType)type state:(NemoShareContentState)state;
结束共享(开始支持版本:v2.29.3)
- (void)stopContentSharing;
回调方法:
- (void)nemoSDKDidContentShareStateChanged:(NemoShareContentType)type state:(NemoShareContentState)state;
发送共享数据,2.29.3及以上版本此接口只用来发送分享图片数据,分享手机屏幕接口请集成XYRTCEngineExtension.framework
参数:
- (void)sendContentMsg:(NemoContent *)content;
扩展进程开启时初始化配置
参数:
- (void)extensionStartSampleHandlerWithHandler:(id)handler message:(NSString *_Nullable)message;
扩展进程结束
- (void)extensionFinished;
发送共享屏幕数据
参数:
- (void)extensionProcessSampleBuffer:(CMSampleBufferRef)sampleBuffer
withType:(RPSampleBufferType)sampleBufferType;
人脸识别开关(开始支持版本:v3.3.0)
参数:
- (void)enableFaceRecognize:(BOOL)enable;
电子铭牌开关(使用电子铭牌必须开启人脸识别)(开始支持版本:v3.3.0)
参数:
- (void)enableElectronicBadge:(BOOL)enable;
人脸识别和电子铭牌切换(开始支持版本:v3.3.0)
参数:
- (void)faceDetect:(NSInteger)type state:(BOOL)state;
获取人脸信息(开始支持版本:v3.3.0)
参数:
block 回调:
- (void)getFaceInfo:(long)faceId completion:(void (^)(BOOL success, id responseObject))completion;
开始网络测试(开始支持版本:v2.29.2)
block 回调:
- (void)startNetworkTestCompletion:(void (^)(NemoNetTestResult *_Nullable result, NemoNetworkTestCode testError))completion;
结束网络测试(开始支持版本:v2.29.2)
- (void)stopNetworkTest;
获取线路配置(开始支持版本:v2.29.2)
block 回调:
- (void)getSitePaths:(void (^)(NemoSitePath *sitePath))complete;
保存线路配置(开始支持版本:v2.29.2)
参数
block 回调:
- (void)configSitePath:(NemoSitePathInfo *)info
complete:(void (^)(BOOL isSuccess))complete;
删除线路配置(开始支持版本:v2.29.2)
参数
block 回调:
- (void)deleteSitePath:(NemoSitePathInfo *)info
complete:(void (^)(BOOL isSuccess))complete;
测试代理服务器(开始支持版本:v2.29.2)
参数
- (void)validateSocksProxy:(NSString *)ip
port:(NSString *)port
userName:(NSString *)userName
password:(NSString *)password;
回调方法:
- (void)nemoSDKDidSocksProxyValidateResult:(NSString *)result;
设置代理服务器(开始支持版本:v2.29.2)
参数
- (void)setSocksProxy:(NSString *)ip
port:(NSString *)port
userName:(NSString *)userName
password:(NSString *)password;
获取统计信息
- (NSString *)getGeneralStatistics;
获取 DBA 统计信息
- (NSString *)getDBStatistics;
获取 layout 统计信息
- (NSString *)getLayoutStatistics;
获取视频发送统计信息
- (NSString *)getVideoTxStatistics;
获取视频接收统计信息
- (NSString *)getVideoRxStatistics;
获取音频发送统计信息
- (NSString *)getAudioTxStatistics;
获取音频接收统计信息
- (NSString *)getAudioRxStatistics;
获取其他统计信息
- (NSString *)getOtherStatistics;
获取 Url 签名结果
参数:
- (NSString *)signUrl:(NSString *)url
methodType:(NSString *)methodType
params:(NSString *)params
token:(NSString *)token;
返回值:
上传日志,小鱼SDK会收集用户的操作日志,存储在/Documents目录下,日志文件最多存储10份,每份10M,共100M,均以vulture命名,调用此接口时SDK内部会自动读取日志文件并上传,您只需要传入遇到的问题描述即可,log等级默认为NemoLogLevel_Debug,如果您初始化时设置了其他等级,小鱼将不在收集日志,如无必要请勿设置此参数
参数:
- (void)sendFeedbackLogWithComments:(NSString *)comments;
回调方法:
- (void)nemoSDKDidUploadLogFileErrorInfo:(NSString *)errorInfo;
获取 SDK 版本号
- (NSString *)version;
登录结果,只有在调用登录接口后会触发回调,退出登录不会触发
参数:
- (void)nemoSDKDidLoginResult:(nullable XYUser *)user success:(BOOL)success;
登录后与小鱼的连接状态,登录成功后小鱼SDK会与服务器保持长连接,所有的会议都需要建立在长连接正常情况下,长连接断开后约40s左右会议被迫中断,所以,建议您在保证此接口isConnect=YES时再进行呼叫入会等相关操作,退出登录后长连接会断开
参数:
- (void)nemoSDKDidConnectStateWithNemo:(BOOL)isConnect;
登出状态,调用退出登录接口后触发
参数:
- (void)nemoSDKDidLogoutState:(BOOL)success;
被踢下线回调,同一个账号在其他设备登录时,当前的设备会被强制下线,小鱼不允许同一账号同时在多台移动设备上登录,但是允许同一个账号同时在移动端和桌面端登录
- (void)nemoSDKDidAccountWasKickOut;
呼叫状态的回调,此接口返回整个会议的状态,调用makeCall开会呼叫之后会返回 NemoCallState_Connecting表示正在连接会议室, NemoCallState_Connected表示已经成功进入会议室, NemoCallState_DisConnected表示会议已经断开,正常结束时reason返回”state:200“,异常结束时返回对应的错误码,可查阅错误码文档获取详情信息
///(开始支持版本:v3.3.1)
- (void)nemoSDKDidCallStateChange:(NemoMeetingStateInfo *)info;
///(开始支持版本:v2.29.0)
- (void)nemoSDKDidCall:(NSString *)number
stateChanged:(NemoCallState)callState
reason:(NSString *)reason;
接收到来电回调,只有在登录并且长连接正常时,小鱼才能正确下发邀请回调,收到点对点呼叫邀请时,您必须先挂断当前会议再接受邀请,如果您想点对点呼叫他人,需要在makeCall时传入callNumber,callNumber可以从XYUser获取(开始支持版本:v2.29.2)
参数:
- (void)nemoSDKDidReceiveCall:(NSString *)number displayName:(NSString *)displayName isValid:(BOOL)isValid;
分享内容回调,只有您自己发起分享图片或屏幕时才会触发,另外一种情况是:您正在分享被会中其他人抢断,也会触发
参数:
- (void)nemoSDKDidContentShareStateChanged:(NemoShareContentType)type state:(NemoShareContentState)state;
视频流信息改变回调,调用setCustomLayout请流之后会触发,返回您请求的视频流,如果会议中的视频流状态发生变化时也会触发,您需要监听此接口,通过返回的视频流数据来刷新页面
参数:
- (void)nemoSDKDidVideoChanged:(NSArray<NemoLayout *> *)videos
单个视频流信息回调,此接口配合标注使用,返回分享画面的实际分辨率
参数:
- (void)nemoSDKDidVideoStreamInfo:(NemoVideoStramInfo *)streamInfo;
参会者信息变化回调,入会成功后会自动触发,返回会议中的参会者信息,当会中有人员状态变动时也会触发,您需要监听此接口,通过返回的参会者信息确认会中的人数,决定如何去请求(setCustomLayout)参会者的视频流
参数:
- (void)nemoSDKDidRosterChanged:(NemoRosters *)rosters;
会议中上报所有参会者信息,使用前需要企业开通并配置“全量roster”开关为打开状态,否则此接口不会触发。此接口回调的参会者信息需要先调用订阅接口“subscribeRoster”,订阅的参会者信息从nemoSDKDidRosterChanged回调,后续正常请流即可。
参数:
- (void)nemoSDKDidBulkRosterChanged:(NemoBulkRosters *)rosters;
会控消息回调,入会成功后会自动触发,返回当前会议的会控消息,比如主持人设置主会场,静音和一些功能权限,当主持人操作了会控时也会触发
参数:
- (void)nemoSDKDidConferenceManagementStateChanged:(NemoConferenceManagerManagementType)type confMgmtInfo:(NemoConfMgmtInfo *)info;
出入会通知回调,有参会者入会、退会时触发(开始支持版本:v2.29.2)
参数:
- (void)nemoSDKDidInOutNotice:(NSArray<NemoInOutNotice *> *)noticeInfos;
录制状态回调,录制状态改变时触发
参数:
- (void)nemoSDKDidRecordingStateChanged:(NemoRecordingInfo *)recordingInfo;
视频状态变化回调
参数:
- (void)nemoSDKDidVideoStateChanged:(XYVideoState)state;
网络等级指示,本地网络质量提示回调,通常用于通话中显示本地信号强度
参数:
- (void)nemoSDKDidNetworkIndicatorLevel:(int)level;
呼叫中心提示回调
参数:
- (void)nemoSDKDidIMNotification:(NSString *)msg;
音频单元被中断时回调,当会议中有其他App或设备占用音频通道时会触发,比如会中来电话,您可以监听此接口获取相应的通知
参数:
- (void)nemoSDKDidAudioInterrupt:(BOOL)began;
音频单元初始化失败回调,初始化音频单元失败是触发,此场景比较少见
参数:
- (void)nemoSDKDidAudioInitFailed:(NSString *)error;
日志上传结果回调,调用sendFeedbackLogWithComments接口上传日志结束时触发,上传成功时errorInfo为空
参数:
- (void)nemoSDKDidUploadLogFileErrorInfo:(NSString *)errorInfo;
白板改变状态,会议中有人发起或结束白板时触发,小鱼SDK同一个会议中同一时间只允许一个人发起白板,其他人只有等白板结束后才能再次发起
参数:
- (void)nemoSDKDidWhiteboardStateChanged:(NemoWhiteboardRemoteState)remoteState
reason:(NSString *_Nullable)reason;
接收到远端白板消息回调,白板开启状态下,远端在白板上画线等操作会触发此回调,remoteMessage为消息内容,对应每一条画线,具体可参照demo
参数:
-(void)nemoSDKDidWhiteboardReceieved:(id)remoteMessage
type:(NemoWhiteboardOperationState)type;
标注状态变化,打开或关闭标注时触发,根据返回的状态值做相应的逻辑处理(开始支持版本:v2.29.3)
参数:
- (void)nemoSDKDidAnnotationStateChanged:(NemoAnnotationStatus)state;
接收到标注消息回调,标注开启状态下,远端在分享画面上画线等操作会触发此回调,message为消息内容,对应每一条画线,具体可参照demo(开始支持版本:v2.29.3)
参数:
- (void)nemoSDKDidAnnotationMsgReceived:(id)message operation:(NemoAnnotationOperation)operation;
通话字幕回调(开始支持版本:v3.3.3)
参数:
-(void)nemoSDKDidAiCaptionInfo:(NemoAICaptionInfo *)aiCaptionInfo;
旁路音频数据回调,返回会中自己的音频数据,需要您在入会前调用setMicDataByAEReadyEnabled打开音频旁路开关
参数:
- (void)nemoSDKDidMicDataByAEReady:(NSInteger)size data:(void *)data;
接收到字幕回调,会议中,会控可以向所有人发送字幕消息,字幕消息包含文字内容、字体大小、颜色、背景等
参数:
- (void)nemoSDKDidRecieveCaptionDisplay:(NemoCaptionInfoModel *)captionInfo;
会控互动回调,主持人发起互动时触发此接口回调,state返回互动的状态,interactiveInfo对象返回互动相关内容,您可以监听此回调,当收到主持人互动消息时,做出相应的UI展示(开始支持版本:v2.29.6)
参数:
- (void)nemoSDKDidInteractiveEvent:(NemoInteractiveState)state
interactiveInfo:(NemoInteractiveInfo *)interactiveInfo;
会议锁定回调,主持人锁定当前会议时,触发此回调,会议锁定后,新的参会者将无法加入当前会议(开始支持版本:v2.29.6)
参数:
- (void)nemoSDKDidMeetingLocked:(BOOL)locked;
主持人状态变更回调,参会人输入主持会议密码后触发此回调,通知参会人当前身份变为主持人,会议结束后主持人身份失效(开始支持版本:v3.3.0)
参数:
- (void)nemoSDKDidMeetingHostChanged:(NSString *)meetingId host:(BOOL)host;
联席主持人状态变更回调,主持人可以指定联席主持人,会议结束后联席主持人身份失效(开始支持版本:v3.3.4)
参数:
- (void)nemoSDKDidMeetingCoHostChanged:(NSString *)meetingId coHost:(BOOL)coHost;
会议室所有者回调,入会后触发此回调(开始支持版本:v3.3.3)
参数:
- (void)nemoSDKDidMeetingOwnerChanged:(NSString *)meetingId owner:(BOOL)owner;
会控请求操作您的摄像头或麦克风,会议中,可以通过会控向参会者发起请求消息,请求参会者打开、关闭摄像头、麦克风,目前仅支持会控关闭摄像头(开始支持版本:v3.3.0)
参数:
- (void)nemoSDKDidMeetingMuteQuery:(NSString *)meetingId query:(NemoMediaQuery)query;
会控清除了举手发言。会议中申请举手发言之后,会控清除举手时触发此回调(开始支持版本:v3.3.3)
- (void)nemoSDKDidMeetingForceHandDown;
发言者回调,返回当前正在讲话的3个人,使用此接口需要在初始化时设置needSpeakers=YES,此接口返回讲话者id,用户可以从NemoRosters中查询用户名(开始支持版本:v2.29.2)
参数:
- (void)nemoSDKDidSpeakersChanged:(NSArray <XYSpeakers *> *)speakers;
啸叫检测回调,当多台设备距离比较近时容易引发啸叫从而触发此接口,detected=YES代表检测到啸叫,detected=NO代表啸叫结束
参数:
- (void)nemoSDKDidHowlingDetected:(BOOL)detected;
系统音量变化(开始支持版本:v2.29.6)
参数:
- (void)nemoSDKDidSystemVolumeDidChanged:(CGFloat)value;
本地麦克风音量(开始支持版本:v2.29.6)
参数:
- (void)nemoSDKDidLocalMicrophoneDecibelChanged:(CGFloat)value;
代理服务器测试接口回调,设置代理服务器时,小鱼提供了测试接口validateSocksProxy,测试结果从此接口返回(开始支持版本:v2.29.2)
参数:
- (void)nemoSDKDidSocksProxyValidateResult:(NSString *)result;
人脸信息回调,需要调用enableFaceRecognize接口打开人脸识别开关才会触发此回调(开始支持版本:v3.3.0)
参数:
- (void)nemoSDKDidRecieveAiFace:(NemoFace *)face isLocal:(BOOL)isLocal;
错误回调,详见错误码,在使用小鱼SDK过程中,监听此接口以获得异常反馈
参数:
- (void)nemoSDKDidError:(NSString *)code message:(NSString *)message;