通过阅读本文,您可以了解iOS SDK和Mac SDK回调及监听的接口详情。
目录
DingRtcEngineDelegate:回调及监听
API |
描述 |
支持的最低版本 |
加入频道回调。 |
3.0 |
|
离开频道回调。 |
3.0 |
|
频道剩余时长回调。 |
3.0 |
|
音频推流变更回调。 |
3.0 |
|
视频推流变更回调。 |
3.0 |
|
屏幕分享推流变更回调。 |
3.0 |
|
远端用户(通信模式)加入频道回调。 |
3.0 |
|
远端用户(通信模式)离开频道回调。 |
3.0 |
|
远端用户的音视频流发生变化回调。 |
3.0 |
|
音频流订阅情况变更回调。 |
3.0 |
|
相机流订阅情况变更回调。 |
3.0 |
|
屏幕分享流订阅情况变更回调。 |
3.0 |
|
相机流大小规格订阅情况变更回调。 |
3.0 |
|
网络质量变化时发出的消息。 |
3.0 |
|
网络连接状态改变的回调。 |
3.0 |
|
被动离会通知,触发原因有:用户被踢、频道被主动关闭、会话失效等。 |
3.0 |
|
如果engine出现warning,通过这个回调通知app。 |
3.0 |
|
如果engine出现error,通过这个回调通知app。 |
3.0 |
|
音频首包发送回调。 |
3.0 |
|
视频首包发送回调。 |
3.0 |
|
远端用户音频首包接收回调。 |
3.0 |
|
远端用户视频首包接收回调。 |
3.0 |
|
远端用户视频首帧接收回调。 |
3.0 |
|
远端用户的第一帧视频帧显示时触发这个消息。 |
3.0 |
|
预览开始显示第一帧视频帧时触发这个消息。 |
3.0 |
|
视频渲染接收到远端视频分辨率有变化时触发此回调。 |
3.2.1 |
|
视频渲染接收到本地视频分辨率有变化时触发此回调。 |
3.2.1 |
|
用户音量提示回调。 |
3.0 |
|
远端用户静音/取消静音回调。 |
3.0 |
|
远端用户暂停/恢复视频流发送的通知。 |
3.0 |
|
远端用户关闭相机流采集发送通知。 |
3.5 |
|
远端用户应用退到后台 |
3.5 |
|
远端用户应用返回前台 |
3.5 |
|
质量报告事件,相对onRtcLocalAudioStats,onRtcRemoteVideoStats更加简练,适合在UI上展示。 |
3.0 |
|
实时数据回调(2s触发一次)。 |
3.0 |
|
本地视频统计信息(2s触发一次)。 |
3.0 |
|
远端视频统计信息(2s触发一次)。 |
3.0 |
|
本地音频统计信息(2s触发一次)。 |
3.0 |
|
远端音频统计信息(2s触发一次)。 |
3.0 |
|
用户音频被中断通知(一般用户打电话等音频被抢占场景) |
3.5.2 |
|
用户音频中断结束通知(对应onUserAudioInterruptedBegin) |
3.5.2 |
|
音频路由发生变化回调(仅适用于iOS系统)。 |
3.0 |
|
音频设备状态变更(仅适用于Mac系统)。 |
3.0 |
|
摄像头设备状态变更(仅适用于Mac系统)。 |
3.4.1 |
|
音频采集设备测试回调。 |
3.0 |
|
音频播放设备测试回调。 |
3.0 |
|
音频播放设备测试结束(音频文件播放完毕)。 |
3.6 |
|
API方法已执行回调。 |
3.0 |
|
视频截图回调。 |
3.0 |
|
收到媒体扩展信息回调 |
3.4 |
|
伴奏混音回调。 |
3.4 |
|
返回当前频道内所有的分组列表。 |
3.4 |
|
当调用joinAudioGroup:usrData:}加入某个group,触发此回调。 |
3.4 |
|
当调用leaveAudioGroup:}离开某个group,触发此回调。 |
3.4 |
|
当调用dismissAudioGroup:}解散某个group,触发此回调。 |
3.4 |
|
当调用mixAudioToGroup:mix:}向分组或者大厅混流,触发此回调。 |
3.4 |
|
分组中成员变化,触发此回调。 |
3.4 |
|
大厅中的成员列表变化,触发此回调。 |
3.4 |
|
分组列表变化,触发此回调。 |
3.4 |
|
当分组名称变化后,触发此回调。 |
3.5 |
|
当调用setGroupName设置某个group名称,触发此回调。注意:如果setGroupName返回非0值,那么不会产生此回调。 |
3.5 |
DingRtcAudioFrameDelegate:音频数据回调及监听
API |
描述 |
支持的最低版本 |
远端拉流数据回调 |
3.5.2 |
|
本地订阅音频数据回调。 |
3.0 |
|
本地采集音频数据回调。 |
3.0 |
|
经过3A处理后的数据回调。 |
3.0 |
|
本地推流音频数据回调。 |
3.0 |
DingRtcVideoFrameDelegate:视频数据回调及监听
API |
描述 |
支持的最低版本 |
视频格式采集偏好。 |
3.0 |
|
本地采集视频数据。 |
3.0 |
|
远端解码后视频数据。 |
3.1 |
|
本地编码前视频数据。 |
3.1 |
DingRtcEngineWhiteboardDelegate:白板事件回调
API |
描述 |
支持的最低版本 |
加入白板结果。 |
3.6 |
|
离开白板结果。 |
3.6 |
|
白板用户更新通知。 |
3.6 |
|
白板快照结果。 |
3.6 |
|
撤消状态。 |
3.6 |
|
恢复状态。 |
3.6 |
|
缩放比例变化。 |
3.6 |
|
绘制事件。 |
3.6 |
|
内容更新 |
3.6 |
|
页码变化。 |
3.6 |
|
白板文档创建结果。 |
3.6 |
|
白板文档删除结果。 |
3.6 |
|
白板文档切换结果。 |
3.6 |
|
白板文档保存成图片结果。 |
3.6 |
|
白板文档保存进度。 |
3.6 |
|
收到自定义消息。 |
3.6 |
|
视角共享开始。 |
3.6 |
|
视角共享结束。 |
3.6 |
|
白板文档保存成缩略图结果。 |
3.6 |
|
白板文档缩略图保存进度。 |
3.6 |
|
图像状态变化。 |
3.6 |
|
文件转码状态。 |
3.6 |
DingRtcEngineWhiteboardManagerDelegate:白板管理器回调
API |
描述 |
支持的最低版本 |
白板服务状态变更回调。 |
3.7.0 |
|
白板开启回调通知 |
3.6 |
|
白板结束回调通知 |
3.6 |
DingRtmClientDelegate:白板事件回调
API |
描述 |
支持的最低版本 |
RTM服务状态变更通知。 |
3.7.0 |
|
加入Session的结果回调。 |
3.7.0 |
|
离开Session的结果回调。 |
3.7.0 |
|
关闭Session的结果回调。 |
3.7.0 |
|
用户从Session里被移除的事件通知。 |
3.7.0 |
|
Session创建的事件通知。 |
3.7.0 |
|
Session关闭的事件通知。 |
3.7.0 |
|
远端用户加入Session的事件通知。 |
3.7.0 |
|
远端用户离开Session的事件通知。 |
3.7.0 |
|
消息通知。 |
3.7.0 |
详情
-
onJoinChannelResult: 加入频道回调。
void onJoinChannelResult (int result,[channel] NSString *_Nonnull channel,[userId] NSString *_Nonnull userId,[elapsed] int elapsed)
- 当应用调用 joinChannel 方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时。
- DingRtcErrJoinBadAppId :AppId不存在,请检查入会参数authinfo中appId是否正确。
- DingRtcErrJoinInvalidAppId :AppId已失效,请检查入会参数authinfo中appId是否正确。
- DingRtcErrJoinBadChannel :频道不存在,请检查入会参数authinfo中channelId是否正确。
- DingRtcErrJoinInvalidChannel :频道已失效,请检查入会参数authinfo中channelId是否正确。
- DingRtcErrJoinBadToken :token不存在,请检查入会参数authinfo生成算法是否与官网文档一致。
- DingRtcErrJoinTimeout :加入频道超时,请检查当前网络是否为弱网或限速。
- DingRtcErrJoinBadParam :参数错误,请检查入会参数authinfo生成是否存在非法字符,或与官网文档是否一致。
参数
类型
描述
result
int
0:成功。
非0:失败。
channel
加入频道名。
userId
用户ID。
elapsed
加入频道耗时。
重要此回调等同于joinChannel接口的block参数,二者择一处理即可。
-
onLeaveChannelResult: 离开频道回调。
void onLeaveChannelResult (int result,[stats] DingRtcStats *_Nonnull stats)
调用 leaveChannel 方法后,该回调表示成功/失败离开频道,回调将会返回离会的result和该频道的基本信息。
参数
类型
描述
result
int
离开频道结果,成功返回0,失败返回错误码。
stats
本次频道内会话的数据统计信息。
重要调用 DingRtcEngine 接口后返回,如果 DingRtcEngine 后直接调用 DingRtcEngine 将不会收到此回调。
-
onChannelRemainingTimeNotify: 频道剩余时长回调。
void onChannelRemainingTimeNotify (int remainingTimeInSec)
参数
类型
描述
remainingTimeInSec
int
频道剩余时长,单位秒。
-
onAudioPublishStateChanged: 音频推流变更回调。
void onAudioPublishStateChanged (DingRtcPublishState oldState,[newState] DingRtcPublishState newState,[elapseSinceLastState] NSInteger elapseSinceLastState,[channel] NSString *_Nonnull channel)
参数
类型
描述
oldState
DingRtcPublishState
之前的推流状态,详见DingRtcPublishState。
newState
DingRtcPublishState
当前的推流状态,详见DingRtcPublishState。
elapseSinceLastState
NSInteger
状态变更时间间隔(毫秒)。
channel
NSString *_Nonnull
当前频道id。
-
onVideoPublishStateChanged: 视频推流变更回调。
void onVideoPublishStateChanged (DingRtcPublishState oldState,[newState] DingRtcPublishState newState,[elapseSinceLastState] NSInteger elapseSinceLastState,[channel] NSString *_Nonnull channel)
参数
类型
描述
oldState
DingRtcPublishState
之前的推流状态,详见DingRtcPublishState。
newState
DingRtcPublishState
当前的推流状态,详见DingRtcPublishState。
elapseSinceLastState
NSInteger
状态变更时间间隔(毫秒)。
channel
NSString *_Nonnull
当前频道id。
-
onRemoteUserOnLineNotify: 远端用户(通信模式)加入频道回调。
void onRemoteUserOnLineNotify (NSString *_Nonnull uid,[elapsed] int elapsed)
- 该回调在以下场景会被触发。
- 通信模式:远端用户加入频道会触发该回调,如果当前用户在加入频道前已有其他用户在频道中,当前用户加入频道后也会收到已加入频道用户的回调。
参数
类型
描述
uid
NSString *_Nonnull
用户ID从Appserver分配的唯一标示符。
elapsed
int
用户加入频道时的耗时。
-
onRemoteUserOffLineNotify: 远端用户(通信模式)离开频道回调。
void onRemoteUserOffLineNotify (NSString *_Nonnull uid,[offlineReason] DingRtcUserOfflineReason reason)
- 该回调在以下场景会被触发。
- 通信模式:远端用户离开频道会触发该回调。
- 通信模式情况下,当长时间收不到远端用户数据,超时掉线时,会触发该回调。
参数
类型
描述
uid
NSString *_Nonnull
用户ID从Appserver分配的唯一标示符。
reason
DingRtcUserOfflineReason
用户离线的原因,详见DingRtcUserOfflineReason。
-
onRemoteTrackAvailableNotify: 远端用户的音视频流发生变化回调。
void onRemoteTrackAvailableNotify (NSString *_Nonnull uid,[audioTrack] DingRtcAudioTrack audioTrack,[videoTrack] DingRtcVideoTrack videoTrack)
- 该回调在以下场景会被触发。
- 当远端用户从未推流变更为推流(包括音频和视频)。
- 当远端用户从已推流变更为未推流(包括音频和视频)。
参数
类型
描述
uid
NSString *_Nonnull
userId,从Appserver分配的唯一标示符。
audioTrack
DingRtcAudioTrack
音频流类型,详见DingRtcAudioTrack。
videoTrack
DingRtcVideoTrack
视频流类型,详见DingRtcVideoTrack。
-
onAudioSubscribeStateChanged: 音频流订阅情况变更回调。
void onAudioSubscribeStateChanged (NSString *_Nonnull uid,[oldState] DingRtcSubscribeState oldState,[newState] DingRtcSubscribeState newState,[elapseSinceLastState] NSInteger elapseSinceLastState,[channel] NSString *_Nonnull channel)
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
oldState
DingRtcSubscribeState
之前的订阅状态,详见DingRtcSubscribeState。
newState
DingRtcSubscribeState
当前的订阅状态,详见DingRtcSubscribeState。
elapseSinceLastState
NSInteger
两次状态变更时间间隔(毫秒)。
channel
NSString *_Nonnull
当前频道id。
-
onVideoSubscribeStateChanged: 相机流订阅情况变更回调。
void onVideoSubscribeStateChanged (NSString *_Nonnull uid,[oldState] DingRtcSubscribeState oldState,[newState] DingRtcSubscribeState newState,[elapseSinceLastState] NSInteger elapseSinceLastState,[channel] NSString *_Nonnull channel)
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
oldState
DingRtcSubscribeState
之前的订阅状态,详见DingRtcSubscribeState。
newState
DingRtcSubscribeState
当前的订阅状态,详见DingRtcSubscribeState。
elapseSinceLastState
NSInteger
两次状态变更时间间隔(毫秒)。
channel
NSString *_Nonnull
当前频道id。
-
onSubscribeStreamTypeChanged: 相机流大小规格订阅情况变更回调。
void onSubscribeStreamTypeChanged (NSString *_Nonnull uid,[oldStreamType] DingRtcVideoStreamType oldStreamType,[newStreamType] DingRtcVideoStreamType newStreamType,[elapseSinceLastState] NSInteger elapseSinceLastState,[channel] NSString *_Nonnull channel)
参数
类型
描述
uid
NSString *_Nonnull
用户ID,从Appserver分配的唯一标示符。
oldStreamType
DingRtcVideoStreamType
之前的订阅的规格类型,详见DingRtcVideoStreamType。
newStreamType
DingRtcVideoStreamType
当前的订阅的规格类型,详见DingRtcVideoStreamType。
elapseSinceLastState
NSInteger
大小流类型变更时间间隔(毫秒)。
channel
NSString *_Nonnull
当前频道id。
-
onNetworkQualityChanged: 网络质量变化时发出的消息。
void onNetworkQualityChanged (NSString *_Nonnull uid,[upNetworkQuality] DingRtcNetworkQuality upQuality,[downNetworkQuality] DingRtcNetworkQuality downQuality)
参数
类型
描述
uid
NSString *_Nonnull
网络质量发生变化的uid。
upQuality
DingRtcNetworkQuality
上行网络质量。
downQuality
DingRtcNetworkQuality
下行网络质量。
重要当网络质量发生变化时触发,uid为""时代表self的网络质量变化。
-
onConnectionStatusChanged: 网络连接状态改变的回调。
void onConnectionStatusChanged (DingRtcConnectionStatus status,[reason] DingRtcConnectionStatusChangeReason reason)
参数
类型
描述
status
DingRtcConnectionStatus
当前状态值,对应值参考枚举DingRtcConnectionStatus。
reason
DingRtcConnectionStatusChangeReason
引起状态变化的具体原因,对应值参考枚举DingRtcConnectionStatusChangeReason。
-
onBye: 被动离会通知,触发原因有:用户被踢、频道被主动关闭、会话失效等。
void onBye (DingRtcOnByeType code)
参数
类型
描述
code
DingRtcOnByeType
原因参考DingRtcOnByeType。
重要3.x版本,在收到此通知时,不会再收到主动离会的onLeaveChannelResult通知。
-
onOccurWarning: 如果engine出现warning,通过这个回调通知app。
void onOccurWarning (int warn,[message] NSString *_Nonnull message)
参数
类型
描述
warn
int
Warningtype。
message
NSString *_Nonnull
警告描述。
-
onOccurError: 如果engine出现error,通过这个回调通知app。
void onOccurError (int error,[message] NSString *_Nonnull message)
参数
类型
描述
error
int
Error类型,参考DingRtcErrorCode。
message
NSString *_Nonnull
错误描述。
-
onFirstAudioPacketSentWithTimecost: 音频首包发送回调。
void onFirstAudioPacketSentWithTimecost (int timeCost)
在首个音频数据包发送出去时触发此回调。
参数
类型
描述
timeCost
int
发送耗时,从入会开始到音频首包发送出去的耗时。
-
onFirstVideoPacketSentWithVideoTrack: 视频首包发送回调。
void onFirstVideoPacketSentWithVideoTrack (DingRtcVideoTrack videoTrack,[timeCost] int timeCost)
参数
类型
描述
videoTrack
DingRtcVideoTrack
发送视频track,参考DingRtcVideoTrack。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包发送的回调。
-
onFirstAudioPacketReceivedWithUid: 远端用户音频首包接收回调。
void onFirstAudioPacketReceivedWithUid (NSString *_Nonnull uid,[timeCost] int timeCost)
在接收到远端首个音频数据包时触发此回调。
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID,从Appserver分配的唯一标识符。
timeCost
int
接收耗时,从入会开始到音频首包接收到的耗时。
-
onFirstVideoPacketReceivedWithUid: 远端用户视频首包接收回调。
void onFirstVideoPacketReceivedWithUid (NSString *_Nonnull uid,[videoTrack] DingRtcVideoTrack videoTrack,[timeCost] int timeCost)
参数
类型
描述
uid
NSString *_Nonnull
UserID,从Appserver分配的唯一标示符。
videoTrack
DingRtcVideoTrack
接收视频track,参考DingRtcVideoTrack。
timeCost
int
耗时(毫秒)。
重要该接口用于视频首包接收的回调。
-
onFirstVideoFrameReceivedWithUid: 远端用户视频首帧接收回调。
void onFirstVideoFrameReceivedWithUid (NSString *_Nonnull uid,[videoTrack] DingRtcVideoTrack videoTrack,[timeCost] int timeCost)
参数
类型
描述
uid
NSString *_Nonnull
UserID,从Appserver分配的唯一标示符。
videoTrack
DingRtcVideoTrack
接收视频track,参考DingRtcVideoTrack。
timeCost
int
耗时(毫秒)。
重要该接口用于收到远端用户视频首帧的回调。
-
onFirstRemoteVideoFrameDrawn: 远端用户的第一帧视频帧显示时触发这个消息。
void onFirstRemoteVideoFrameDrawn (NSString *_Nonnull uid,[videoTrack] DingRtcVideoTrack videoTrack,[width] int width,[height] int height,[elapsed] int elapsed)
参数
类型
描述
uid
NSString *_Nonnull
UserID,从Appserver分配的唯一标示符。
videoTrack
DingRtcVideoTrack
屏幕流或者相机流,参考DingRtcVideoTrack。
width
int
视频宽度。
height
int
视频高度。
elapsed
int
本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于远端用户的第一帧视频帧显示时的回调。
-
onFirstLocalVideoFrameDrawn: 预览开始显示第一帧视频帧时触发这个消息。
void onFirstLocalVideoFrameDrawn (int width,[height] int height,[elapsed] int elapsed)
参数
类型
描述
width
int
本地预览视频宽度。
height
int
本地预览视频高度。
elapsed
int
从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)。
重要该接口用于预览开始显示第一帧视频帧时的回调。
-
onRenderRemoteVideoSizeChanged: 视频渲染接收到远端视频分辨率有变化时触发此回调。
void onRenderRemoteVideoSizeChanged (NSString *_Nonnull uid,[videoTrack] DingRtcVideoTrack videoTrack,[newWidth] int newWidth,[newHeight] int newHeight,[oldWidth] int oldWidth,[oldHeight] int oldHeight)
参数
类型
描述
uid
NSString *_Nonnull
userId,从Appserver分配的唯一标示符。
videoTrack
DingRtcVideoTrack
接收视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要因为simulcast的存在,以及动态调整分辨率,横竖屏变化,视频大小和远端设置的最大推流分辨率不一定相同。
-
onRenderLocalVideoSizeChanged: 视频渲染接收到本地视频分辨率有变化时触发此回调。
void onRenderLocalVideoSizeChanged (DingRtcVideoTrack videoTrack,[newWidth] int newWidth,[newHeight] int newHeight,[oldWidth] int oldWidth,[oldHeight] int oldHeight)
参数
类型
描述
videoTrack
DingRtcVideoTrack
本地视频track。
newWidth
int
变化后新的视频宽度
newHeight
int
变化后新的视频高度
oldWidth
int
变化前旧的视频宽度
oldHeight
int
变化前旧的视频高度
重要视频大小可能和摄像头采集到的视频大小不相等,比如在采集之后存在缩放等处理。
-
onAudioVolumeIndication: 用户音量提示回调。
void onAudioVolumeIndication (NSArray< DingRtcUserVolumeInfo * > *_Nullable speakers,[speakerNumber] int speakerNumber)
参数
类型
描述
speakers
用户音量信息,表示回调用户音量信息数组,包含用户uid,语音状态以及音量,uid为"0"表示本地说话人。
speakerNumber
int
用户数量。
-
onUserAudioMuted: 远端用户静音/取消静音回调。
void onUserAudioMuted (NSString *_Nonnull uid,[audioMuted] BOOL isMute)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID。
isMute
BOOL
该用户是否静音
YES:静音。
NO:取消静音。
-
onUserVideoMuted: 远端用户暂停/恢复视频流发送的通知。
void onUserVideoMuted (NSString *_Nonnull uid,[videoMuted] BOOL isMute,[track] DingRtcVideoTrack track)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID。
isMute
BOOL
YES:该用户暂停视频流的发送。
NO:该用户恢复视频流的发送。
track
DingRtcVideoTrack
屏幕流或者相机流。
-
onUserVideoEnabled: 远端用户关闭相机流采集发送通知。
void onUserVideoEnabled (NSString *_Nonnull uid,[enabled] BOOL enabled)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID。
enabled
BOOL
YES:打开相机流采集。
NO:关闭相机流采集。
-
onUserWillResignActive: 远端用户应用退到后台
void onUserWillResignActive (NSString *_Nonnull uid)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID
-
onUserWillBecomeActive: 远端用户应用返回前台
void onUserWillBecomeActive (NSString *_Nonnull uid)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID
-
onRtcQualityReport: 质量报告事件,相对onRtcLocalAudioStats,onRtcRemoteVideoStats更加简练,适合在UI上展示。
void onRtcQualityReport (DingRtcQualityReport *_Nonnull quality)
参数
类型
描述
quality
采集到的各项指标数据。
-
onRtcStats: 实时数据回调(2s触发一次)。
void onRtcStats (DingRtcStats *_Nonnull stats)
参数
类型
描述
stats
stats。
-
onRtcLocalVideoStats: 本地视频统计信息(2s触发一次)。
void onRtcLocalVideoStats (DingRtcLocalVideoStats *_Nonnull localVideoStats)
参数
类型
描述
localVideoStats
本地视频统计信息。
重要SDK每两秒触发一次此统计信息回调。
-
onRtcRemoteVideoStats: 远端视频统计信息(2s触发一次)。
void onRtcRemoteVideoStats (DingRtcRemoteVideoStats *_Nonnull remoteVideoStats)
参数
类型
描述
remoteVideoStats
远端视频统计信息。
-
onRtcLocalAudioStats: 本地音频统计信息(2s触发一次)。
void onRtcLocalAudioStats (DingRtcLocalAudioStats *_Nonnull localAudioStats)
参数
类型
描述
localAudioStats
本地视频统计信息。
重要SDK每两秒触发一次此统计信息回调。
-
onRtcRemoteAudioStats: 远端音频统计信息(2s触发一次)。
void onRtcRemoteAudioStats (DingRtcRemoteAudioStats *_Nonnull remoteAudioStats)
参数
类型
描述
remoteAudioStats
远端音频统计信息。
-
onUserAudioInterruptedBegin: 用户音频被中断通知(一般用户打电话等音频被抢占场景)
void onUserAudioInterruptedBegin (NSString *_Nonnull uid)
参数
类型
描述
uid
NSString *_Nonnull
音频被中断的用户ID
-
onUserAudioInterruptedEnded: 用户音频中断结束通知(对应onUserAudioInterruptedBegin)
void onUserAudioInterruptedEnded (NSString *_Nonnull uid)
参数
类型
描述
uid
NSString *_Nonnull
音频中断结束的用户ID
-
onAudioRouteChanged: 音频路由发生变化回调(仅适用于iOS系统)。
void onAudioRouteChanged (DingRtcAudioRouteType routing)
- 所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化。
- 当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
- 当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
参数
类型
描述
routing
DingRtcAudioRouteType
当前使用的音频路由,详情参考DingRtcAudioRouteType
-
onAudioDeviceStateChanged: 音频设备状态变更(仅适用于Mac系统)。
void onAudioDeviceStateChanged (NSString *_Nonnull deviceId,[deviceType] DingRtcExternalDeviceType deviceType,[deviceState] DingRtcExternalDeviceState deviceState)
参数
类型
描述
deviceId
NSString *_Nonnull
外接设备ID。
deviceType
DingRtcExternalDeviceType
外接设备类型。
deviceState
DingRtcExternalDeviceState
外接设备状态。
-
onVideoDeviceStateChanged: 摄像头设备状态变更(仅适用于Mac系统)。
void onVideoDeviceStateChanged (NSString *_Nonnull deviceId,[deviceType] DingRtcExternalDeviceType deviceType,[deviceState] DingRtcExternalDeviceState deviceState)
参数
类型
描述
deviceId
NSString *_Nonnull
外接设备ID。
deviceType
DingRtcExternalDeviceType
外接设备类型。
deviceState
DingRtcExternalDeviceState
外接设备状态。
-
onAudioDeviceRecordLevel: 音频采集设备测试回调。
void onAudioDeviceRecordLevel (int level)
参数
类型
描述
level
int
音频采集设备音量值。
-
onAudioDevicePlayoutLevel: 音频播放设备测试回调。
void onAudioDevicePlayoutLevel (int level)
参数
类型
描述
level
int
音频采集设备音量值。
-
onAudioPlayoutEnded: 音频播放设备测试结束(音频文件播放完毕)。
void onAudioPlayoutEnded ()
-
onApiCalledExecuted: API方法已执行回调。
void onApiCalledExecuted (int error,[api] NSString *_Nullable api,[result] NSString *_Nullable result)
参数
类型
描述
error
int
当该方法调用失败时SDK返回的错误码。如果该方法调用成功,SDK将返回0。失败,非0。
api
NSString *_Nullable
SDK执行的API。
result
NSString *_Nullable
SDK调用API的调用结果。
-
onSnapshotComplete: 视频截图回调。
void onSnapshotComplete (NSString *_Nullable uid,[videoTrack] DingRtcVideoTrack videoTrack,[filePath] NSString *_Nullable filePath,[width] int width,[height] int height,[success] BOOL success)
参数
类型
描述
uid
NSString *_Nullable
用户uid,为nil或者为""代表本地用户。
videoTrack
DingRtcVideoTrack
截图视频track,参考DingRtcVideoTrack。
filePath
NSString *_Nullable
截图的本地保存路径。
width
int
截图宽度。
height
int
截图高度。
image
截图数据。
success
截图结果。
重要成功时image返回截图数据,失败返回nil。
-
onMediaExtensionMsgReceived: 收到媒体扩展信息回调
void onMediaExtensionMsgReceived (NSString *_Nonnull uid,[message] NSData *_Nonnull data)
参数
类型
描述
uid
NSString *_Nonnull
发送用户userId
data
NSData *_Nonnull
媒体扩展信息
重要当一端通过 AliRtcEngine 发送信息后,其他端通过该回调接收数据
-
onAudioMixingStateChanged: 伴奏混音回调。
void onAudioMixingStateChanged (DingRtcAudioMixingStatusConfig *_Nonnull status)
参数
类型
描述
status
伴奏混音状态,详细参考DingRtcAudioMixingStatusConfig。
重要该接口用于伴奏混音状态监控。
-
onListAllAudioGroups: 返回当前频道内所有的分组列表。
void onListAllAudioGroups (NSArray< NSString * > *_Nonnull audioGroups)
参数
类型
描述
audioGroups
NSArray< NSString * > *_Nonnull
分组列表。
重要该回调发生在加入频道的时候。App通过该回调可以获得当前频道内所有的分组。后续分组变化,通过回调 onAudioGroupListUpdate获得。
-
onAudioGroupJoinResult: 当调用joinAudioGroup:usrData:}加入某个group,触发此回调。
void onAudioGroupJoinResult (int result,[errorMessage] NSString *_Nullable errorMessage,[group] NSString *_Nonnull group,[members] NSArray< DingRtcAudioGroupMemberInfo * > *_Nonnull members)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errorMessage
NSString *_Nullable
如果result不为0,补充说明错误原因。
group
NSString *_Nonnull
加入的分组。
members
DingRtcAudioGroupMemberInfo
该分组的成员用户列表。
-
onAudioGroupLeaveResult: 当调用leaveAudioGroup:}离开某个group,触发此回调。
void onAudioGroupLeaveResult (int result,[errorMessage] NSString *_Nullable errorMessage,[group] NSString *_Nonnull group)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errorMessage
NSString *_Nullable
如果result不为0,补充说明错误原因。
group
NSString *_Nonnull
离开的分组。
-
onAudioGroupDismissResult: 当调用dismissAudioGroup:}解散某个group,触发此回调。
void onAudioGroupDismissResult (int result,[errorMessage] NSString *_Nullable errorMessage,[group] NSString *_Nonnull group)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errorMessage
NSString *_Nullable
如果result不为0,补充说明错误原因。
group
NSString *_Nonnull
解散的分组。
-
onAudioGroupMixResult: 当调用mixAudioToGroup:mix:}向分组或者大厅混流,触发此回调。
void onAudioGroupMixResult (int result,[reason] NSString *_Nullable reason,[group] NSString *_Nonnull group,[mix] BOOL mix)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
reason
NSString *_Nullable
如果result不为0,补充说明失败的原因。
group
NSString *_Nonnull
目标分组。如果是HallID,则表示目标为大厅的音频,否则是普通分组的ID。非空。
mix
BOOL
YES表示将本地音频流混进指定的channelaudio或者分组音频中;NO表示取消。
-
onAudioGroupMemberUpdate: 分组中成员变化,触发此回调。
void onAudioGroupMemberUpdate (int updateOption,[group] NSString *_Nonnull group,[members] NSArray< DingRtcAudioGroupMemberInfo * > *_Nonnull members)
参数
类型
描述
updateOption
int
1表示新增了成员,-1表示离开了成员。
group
NSString *_Nonnull
成员变化的分组。
members
DingRtcAudioGroupMemberInfo
变动的(新增的或者离开的)成员列表。
-
onAudioGroupHallMembers: 大厅中的成员列表变化,触发此回调。
void onAudioGroupHallMembers (NSArray< DingRtcAudioGroupMemberInfo * > *_Nonnull hallMembers)
参数
类型
描述
hallMembers
DingRtcAudioGroupMemberInfo
大厅中的全量成员列表。
重要大方会场景下,回调如果比较频繁,存在一定的 cpu 开销。
-
onAudioGroupListUpdate: 分组列表变化,触发此回调。
void onAudioGroupListUpdate (int updateOption,[group] NSString *_Nonnull group)
参数
类型
描述
updateOption
int
1表示新增了分组,-1表示删除了分组。
group
NSString *_Nonnull
该回调指示的分组。
-
onGroupNameChanged: 当分组名称变化后,触发此回调。
void onGroupNameChanged (NSString *_Nonnull newName,[group] NSString *_Nonnull group)
参数
类型
描述
group
目标分组。不可能是audioGroupHallId。
newName
分组名称。
重要不论是本地修改了分组名称,还是远端修改了分组名称,都通过这个消息通知app。
-
onSetGroupNameResult: 当调用setGroupName设置某个group名称,触发此回调。注意:如果setGroupName返回非0值,那么不会产生此回调。
void onSetGroupNameResult (int result,[errMsg] NSString *_Nullable errMsg,[group] NSString *_Nonnull group,[groupName] NSString *_Nonnull groupName)
参数
类型
描述
result
int
0表示成功,其他值表示失败。
errMsg
NSString *_Nullable
如果result不为0,用该字符串解释失败的原因。
group
NSString *_Nonnull
修改名称的分组ID。
groupName
NSString *_Nonnull
希望设置的新的命名。
-
onRemoteUserAudioFrame: 远端拉流数据回调
void onRemoteUserAudioFrame (NSString *_Nonnull uid,[frame] DingRtcAudioDataSample *_Nonnull frame)
参数
类型
描述
uid
NSString *_Nonnull
远端用户ID。
frame
音频数据,详见RtcEngineAudioFrame。
重要请不要在此回调函数中做任何耗时操作,否则可能导致声音异常
-
onPlaybackAudioFrame: 本地订阅音频数据回调。
void onPlaybackAudioFrame (DingRtcAudioDataSample *_Nonnull frame)
远端所有用户混音后待播放的音频数据。
参数
类型
描述
frame
音频数据。
-
onCapturedAudioFrame: 本地采集音频数据回调。
void onCapturedAudioFrame (DingRtcAudioDataSample *_Nonnull frame)
参数
类型
描述
frame
音频数据。
-
onProcessCapturedAudioFrame: 经过3A处理后的数据回调。
void onProcessCapturedAudioFrame (DingRtcAudioDataSample *_Nonnull frame)
参数
类型
描述
frame
音频数据。
-
onPublishAudioFrame: 本地推流音频数据回调。
void onPublishAudioFrame (DingRtcAudioDataSample *_Nonnull frame)
参数
类型
描述
frame
音频数据。
-
getVideoFormatPreference: 视频格式采集偏好。
DingRtcVideoFormat getVideoFormatPreference ()
-
onCaptureVideoFrame: 本地采集视频数据。
BOOL onCaptureVideoFrame (DingRtcVideoFrame *_Nonnull frame)
-
onRemoteVideoFrame: 远端解码后视频数据。
BOOL onRemoteVideoFrame (DingRtcVideoFrame *_Nonnull frame,[userId] NSString *_Nonnull userId,[videoTrack] DingRtcVideoTrack videoTrack)
-
onPreEncodeVideoFrame: 本地编码前视频数据。
BOOL onPreEncodeVideoFrame (DingRtcVideoFrame *_Nonnull frame,[videoTrack] DingRtcVideoTrack videoTrack)
-
onJoinResult: 加入白板结果。
void onJoinResult (int result,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
加入白板结果,成功返回0,失败返回错误码。
whiteboardId
NSString *
白板Id。
-
onLeaveResult: 离开白板结果。
void onLeaveResult (int result,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
离开白板结果,成功返回0,失败返回错误码。
whiteboardId
NSString *
白板Id。
-
onUserMemberUpdate: 白板用户更新通知。
void onUserMemberUpdate (int action,[members] NSArray< DingRtcWbUserMember * > *members,[whiteboard] NSString *whiteboardId)
参数
类型
描述
action
int
0:join,1:leave
members
变动的用户列表。
memberCount
members数量。
whiteboardId
白板Id。
-
onSnapshotComplete: 白板快照结果。
void onSnapshotComplete (int result,[fileName] NSString *fileName,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
快照结果,成功返回0,失败返回错误码。
fileName
NSString *
快照文件名。
whiteboardId
NSString *
白板Id。
-
onUndoStatus: 撤消状态。
void onUndoStatus (BOOL undo,[whiteboard] NSString *whiteboardId)
参数
类型
描述
undo
BOOL
是否允许撤消。
whiteboardId
NSString *
白板Id。
-
onRedoStatus: 恢复状态。
void onRedoStatus (BOOL redo,[whiteboard] NSString *whiteboardId)
参数
类型
描述
redo
BOOL
是否允许恢复。
whiteboardId
NSString *
白板Id。
-
onZoomScaleChanged: 缩放比例变化。
void onZoomScaleChanged (float scale,[whiteboard] NSString *whiteboardId)
参数
类型
描述
scale
float
缩放比例。
whiteboardId
NSString *
白板Id。
-
onDrawEvent: 绘制事件。
void onDrawEvent (DingRtcWbDrawEvent event,[whiteboard] NSString *whiteboardId)
参数
类型
描述
event
DingRtcWbDrawEvent
绘制事件。
whiteboardId
NSString *
白板Id。
-
onContentUpdate: 内容更新
void onContentUpdate (DingRtcWbContentUpdateType type,[whiteboard] NSString *whiteboardId)
参数
类型
描述
type
DingRtcWbContentUpdateType
内容更新类型。
whiteboardId
NSString *
白板Id。
-
onPageNumberChanged: 页码变化。
void onPageNumberChanged (NSUInteger curPage,[totalPages] NSUInteger totalPages,[whiteboard] NSString *whiteboardId)
参数
类型
描述
curPage
NSUInteger
页码。
totalPages
NSUInteger
总页数。
whiteboardId
NSString *
白板Id。
-
onCreateDoc: 白板文档创建结果。
void onCreateDoc (int result,[docId] NSString *docId,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
创建结果,成功返回0,失败返回错误码。
docId
NSString *
文档ID。
whiteboardId
NSString *
白板Id。
-
onDeleteDoc: 白板文档删除结果。
void onDeleteDoc (int result,[docId] NSString *docId,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
删除结果,成功返回0,失败返回错误码。
docId
NSString *
文档ID。
whiteboardId
NSString *
白板Id。
-
onSwitchDoc: 白板文档切换结果。
void onSwitchDoc (int result,[docId] NSString *docId,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
切换结果,成功返回0,失败返回错误码。
docId
NSString *
文档ID。
whiteboardId
NSString *
白板Id。
-
onSaveDocComplete: 白板文档保存成图片结果。
void onSaveDocComplete (int result,[docId] NSString *docId,[outputDir] NSString *outputDir,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
保存结果,成功返回0,失败返回错误码。
docId
NSString *
文档ID。
outputDir
NSString *
输出目录。
whiteboardId
NSString *
白板Id。
-
onSaveDocProgress: 白板文档保存进度。
void onSaveDocProgress (NSString *docId,[current] NSUInteger current,[total] NSUInteger total,[whiteboard] NSString *whiteboardId)
参数
类型
描述
docId
NSString *
文档ID。
current
NSUInteger
当前进度(当前页数)。
total
NSUInteger
总进度(总页数)。
whiteboardId
NSString *
白板Id。
-
onReceiveMessage: 收到自定义消息。
void onReceiveMessage (NSString *userId,[msg] NSString *msg,[whiteboard] NSString *whiteboardId)
参数
类型
描述
userId
NSString *
发送方用户ID。
msg
NSString *
收到的消息。
whiteboardId
NSString *
白板Id。
-
onSaveDocThumbnailComplete: 白板文档保存成缩略图结果。
void onSaveDocThumbnailComplete (int result,[docId] NSString *docId,[outputDir] NSString *outputDir,[whiteboard] NSString *whiteboardId)
参数
类型
描述
result
int
保存结果,成功返回0,失败返回错误码。
docId
NSString *
文档ID。
outputDir
NSString *
输出目录。
whiteboardId
NSString *
白板Id。
-
onSaveDocThumbnailProgress: 白板文档缩略图保存进度。
void onSaveDocThumbnailProgress (NSString *docId,[current] NSUInteger current,[total] NSUInteger total,[whiteboard] NSString *whiteboardId)
参数
类型
描述
docId
NSString *
文档ID。
current
NSUInteger
当前进度(当前页数)。
total
NSUInteger
总进度(总页数)。
whiteboardId
NSString *
白板Id。
-
onImageStateChanged: 图像状态变化。
void onImageStateChanged (NSString *url,[state] DingRtcWbImageState state,[whiteboard] NSString *whiteboardId)
参数
类型
描述
url
NSString *
图片URL。
state
DingRtcWbImageState
图像状态。
whiteboardId
NSString *
白板Id。
-
onFileTranscodeState: 文件转码状态。
void onFileTranscodeState (NSString *docId,[transDocId] NSString *transDocId,[state] DingRtcWbFileTransState state,[whiteboard] NSString *whiteboardId)
参数
类型
描述
docId
NSString *
文档ID。
transDocId
NSString *
转码文档ID。
state
DingRtcWbFileTransState
文件转码状态。
whiteboardId
NSString *
白板Id。
-
onWhiteboardServerStateChanged: 白板服务状态变更回调。
void onWhiteboardServerStateChanged (DingRtcWbServerState state,[reason] int reason)
参数
类型
描述
state
DingRtcWbServerState
白板服务状态。
reason
int
白板服务状态改变原因。
重要只有当白板服务状态变更为Available时,才能调用一系列白板接口,否则会调用失败。
-
onWhiteboardStart: 白板开启回调通知
void onWhiteboardStart (NSString *whiteboardId,[config] DingRtcWbConfig *cfg)
参数
类型
描述
whiteboardId
NSString *
白板Id
-
onWhiteboardStop: 白板结束回调通知
void onWhiteboardStop (NSString *whiteboardId)
参数
类型
描述
whiteboardId
NSString *
白板Id
-
onRtmServerStateChanged: RTM服务状态变更通知。
void onRtmServerStateChanged (DingRtmServerState state,[reason] int reason)
参数
类型
描述
state
DingRtmServerState
RTM服务状态。
reason
int
RTM服务状态改变原因。
重要只有当RTM服务状态变更为Available时,才能调用一系列RTM接口,否则会调用失败。
-
onJoinSessionResult: 加入Session的结果回调。
void onJoinSessionResult (NSString *sessionId,[result] int result)
参数
类型
描述
sessionId
NSString *
SessionID。
result
int
加入Session的结果,成功返回0,失败返回错误码。
-
onLeaveSessionResult: 离开Session的结果回调。
void onLeaveSessionResult (NSString *sessionId,[result] int result)
参数
类型
描述
sessionId
NSString *
SessionID。
result
int
离开Session的结果,成功返回0,失败返回错误码。
-
onCloseSessionResult: 关闭Session的结果回调。
void onCloseSessionResult (NSString *sessionId,[result] int result)
参数
类型
描述
sessionId
NSString *
SessionID。
result
int
关闭Session的结果,成功返回0,失败返回错误码。
-
onRemovedFromSession: 用户从Session里被移除的事件通知。
void onRemovedFromSession (NSString *sessionId,[reason] int reason)
参数
类型
描述
sessionId
NSString *
SessionID。
reason
int
用户被移除Session的原因。
-
onSessionCreate: Session创建的事件通知。
void onSessionCreate (NSString *sessionId)
参数
类型
描述
sessionId
NSString *
SessionID。
重要刚入会时或者会中新创建Session时触发,自己创建Session时也会触发该通知。
-
onSessionClose: Session关闭的事件通知。
void onSessionClose (NSString *sessionId)
参数
类型
描述
sessionId
NSString *
SessionID。
重要Session被关闭时触发,自己关闭Session时也会触发该通知。
-
onSessionRemoteUserJoin: 远端用户加入Session的事件通知。
void onSessionRemoteUserJoin (NSString *sessionId,[uid] NSString *uid)
参数
类型
描述
sessionId
NSString *
SessionID。
uid
NSString *
远端用户ID。
重要自己加入Session时不会触发该通知。
-
onSessionRemoteUserLeave: 远端用户离开Session的事件通知。
void onSessionRemoteUserLeave (NSString *sessionId,[uid] NSString *uid)
参数
类型
描述
sessionId
NSString *
SessionID。
uid
NSString *
远端用户ID。
重要自己离开Session时不会触发该通知。
-
onMessage: 消息通知。
void onMessage (NSString *sessionId,[uid] NSString *uid,[broadcast] BOOL broadcast,[data] NSData *data)
参数
类型
描述
sessionId
NSString *
SessionID。
fromUid
消息发送方用户ID。
broadcast
BOOL
该消息是否为广播消息。
data
NSData *
消息数据。