回调及监听

通过阅读本文,您可以了解iOS SDK和Mac SDK回调及监听的接口详情。

目录

DingRtcEngineDelegate:回调及监听

API

描述

支持的最低版本

onJoinChannelResult

加入频道回调。

3.0

onLeaveChannelResult

离开频道回调。

3.0

onChannelRemainingTimeNotify

频道剩余时长回调。

3.0

onAudioPublishStateChanged

音频推流变更回调。

3.0

onVideoPublishStateChanged

视频推流变更回调。

3.0

onScreenSharePublishStateChanged

屏幕分享推流变更回调。

3.0

onRemoteUserOnLineNotify

远端用户(通信模式)加入频道回调。

3.0

onRemoteUserOffLineNotify

远端用户(通信模式)离开频道回调。

3.0

onRemoteTrackAvailableNotify

远端用户的音视频流发生变化回调。

3.0

onAudioSubscribeStateChanged

音频流订阅情况变更回调。

3.0

onVideoSubscribeStateChanged

相机流订阅情况变更回调。

3.0

onScreenShareSubscribeStateChanged

屏幕分享流订阅情况变更回调。

3.0

onSubscribeStreamTypeChanged

相机流大小规格订阅情况变更回调。

3.0

onNetworkQualityChanged

网络质量变化时发出的消息。

3.0

onConnectionStatusChanged

网络连接状态改变的回调。

3.0

onBye

被服务器踢出/会议结束频道的消息。

3.0

onOccurWarning

如果engine出现warning,通过这个回调通知app。

3.0

onOccurError

如果engine出现error,通过这个回调通知app。

3.0

onFirstAudioPacketSentWithTimecost

音频首包发送回调。

3.0

onFirstVideoPacketSentWithVideoTrack

视频首包发送回调。

3.0

onFirstAudioPacketReceivedWithUid

远端用户音频首包接收回调。

3.0

onFirstVideoPacketReceivedWithUid

远端用户视频首包接收回调。

3.0

onFirstVideoFrameReceivedWithUid

远端用户视频首帧接收回调。

3.0

onFirstRemoteVideoFrameDrawn

远端用户的第一帧视频帧显示时触发这个消息。

3.0

onFirstLocalVideoFrameDrawn

预览开始显示第一帧视频帧时触发这个消息。

3.0

onRenderRemoteVideoSizeChanged

视频渲染接收到远端视频分辨率有变化时触发此回调。

3.2.1

onRenderLocalVideoSizeChanged

视频渲染接收到本地视频分辨率有变化时触发此回调。

3.2.1

onAudioVolumeIndication

用户音量提示回调。

3.0

onUserAudioMuted

远端用户静音/取消静音回调。

3.0

onUserVideoMuted

远端用户暂停/恢复视频流发送的通知。

3.0

onRtcQualityReport

质量报告事件,相对onRtcLocalAudioStats,onRtcRemoteVideoStats更加简练,适合在UI上展示。

3.0

onRtcStats

实时数据回调(2s触发一次)。

3.0

onRtcLocalVideoStats

本地视频统计信息(2s触发一次)。

3.0

onRtcRemoteVideoStats

远端视频统计信息(2s触发一次)。

3.0

onRtcLocalAudioStats

本地音频统计信息(2s触发一次)。

3.0

onRtcRemoteAudioStats

远端音频统计信息(2s触发一次)。

3.0

onAudioRouteChanged

音频路由发生变化回调(仅适用于iOS系统)。

3.0

onAudioDeviceStateChanged

音频设备状态变更(仅适用于Mac系统)。

3.0

onAudioDeviceRecordLevel

音频采集设备测试回调。

3.0

onAudioDevicePlayoutLevel

音频播放设备测试回调。

3.0

onApiCalledExecuted

API方法已执行回调。

3.0

onSnapshotComplete

视频截图回调。

3.0

onAudioMixingStateChanged

伴奏混音回调。

3.4

onListAllAudioGroups

返回当前频道内所有的分组列表。

3.4

onAudioGroupJoinResult

当调用joinAudioGroup:usrData:加入某个group,触发此回调。

3.4

onAudioGroupLeaveResult

当调用leaveAudioGroup:离开某个group,触发此回调。

3.4

onAudioGroupDismissResult

当调用dismissAudioGroup:解散某个group,触发此回调。

3.4

onAudioGroupMixResult

当调用mixAudioToGroup:mix:向分组或者大厅混流,触发此回调。

3.4

onAudioGroupMemberUpdate

分组中成员变化,触发此回调。

3.4

onAudioGroupHallMembers

大厅中的成员列表变化,触发此回调。

3.4

onAudioGroupListUpdate

分组列表变化,触发此回调。

3.4

DingRtcAudioFrameDelegate:音频数据回调及监听

API

描述

支持的最低版本

onPlaybackAudioFrame

本地订阅音频数据回调。

3.0

onCapturedAudioFrame

本地采集音频数据回调。

3.0

onProcessCapturedAudioFrame

经过3A处理后的数据回调。

3.0

onPublishAudioFrame

本地推流音频数据回调。

3.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

    DingRtcStats

    本次频道内会话的数据统计信息。

    重要

    调用 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。

  • onScreenSharePublishStateChanged: 屏幕分享推流变更回调。

     void onScreenSharePublishStateChanged (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。

  • onScreenShareSubscribeStateChanged: 屏幕分享流订阅情况变更回调。

     void onScreenShareSubscribeStateChanged (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

  • 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

    DingRtcUserVolumeInfo

    用户音量信息,表示回调用户音量信息数组,包含用户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

    屏幕流或者相机流。

  • onRtcQualityReport: 质量报告事件,相对onRtcLocalAudioStats,onRtcRemoteVideoStats更加简练,适合在UI上展示。

     void onRtcQualityReport (DingRtcQualityReport *_Nonnull quality)

    参数

    类型

    描述

    quality

    DingRtcQualityReport

    采集到的各项指标数据。

  • onRtcStats: 实时数据回调(2s触发一次)。

     void onRtcStats (DingRtcStats *_Nonnull stats)

    参数

    类型

    描述

    stats

    DingRtcStats

    stats。

  • onRtcLocalVideoStats: 本地视频统计信息(2s触发一次)。

     void onRtcLocalVideoStats (DingRtcLocalVideoStats *_Nonnull localVideoStats)

    参数

    类型

    描述

    localVideoStats

    DingRtcLocalVideoStats

    本地视频统计信息。

    重要

    SDK每两秒触发一次此统计信息回调。

  • onRtcRemoteVideoStats: 远端视频统计信息(2s触发一次)。

     void onRtcRemoteVideoStats (DingRtcRemoteVideoStats *_Nonnull remoteVideoStats)

    参数

    类型

    描述

    remoteVideoStats

    DingRtcRemoteVideoStats

    远端视频统计信息。

  • onRtcLocalAudioStats: 本地音频统计信息(2s触发一次)。

     void onRtcLocalAudioStats (DingRtcLocalAudioStats *_Nonnull localAudioStats)

    参数

    类型

    描述

    localAudioStats

    DingRtcLocalAudioStats

    本地视频统计信息。

    重要

    SDK每两秒触发一次此统计信息回调。

  • onRtcRemoteAudioStats: 远端音频统计信息(2s触发一次)。

     void onRtcRemoteAudioStats (DingRtcRemoteAudioStats *_Nonnull remoteAudioStats)

    参数

    类型

    描述

    remoteAudioStats

    DingRtcRemoteAudioStats

    远端音频统计信息。

  • 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

    外接设备状态。

  • onAudioDeviceRecordLevel: 音频采集设备测试回调。

     void onAudioDeviceRecordLevel (int level)

    参数

    类型

    描述

    level

    int

    音频采集设备音量值。

  • onAudioDevicePlayoutLevel: 音频播放设备测试回调。

     void onAudioDevicePlayoutLevel (int level)

    参数

    类型

    描述

    level

    int

    音频采集设备音量值。

  • 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。

  • onAudioMixingStateChanged: 伴奏混音回调。

     void onAudioMixingStateChanged (DingRtcAudioMixingStatusConfig *_Nonnull status)

    参数

    类型

    描述

    status

    DingRtcAudioMixingStatusConfig

    伴奏混音状态,详细参考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

    该回调指示的分组。

  • onPlaybackAudioFrame: 本地订阅音频数据回调。

     void onPlaybackAudioFrame (DingRtcAudioDataSample *_Nonnull frame)

    远端所有用户混音后待播放的音频数据。

    参数

    类型

    描述

    frame

    DingRtcAudioDataSample

    音频数据。

  • onCapturedAudioFrame: 本地采集音频数据回调。

     void onCapturedAudioFrame (DingRtcAudioDataSample *_Nonnull frame)

    参数

    类型

    描述

    frame

    DingRtcAudioDataSample

    音频数据。

  • onProcessCapturedAudioFrame: 经过3A处理后的数据回调。

     void onProcessCapturedAudioFrame (DingRtcAudioDataSample *_Nonnull frame)

    参数

    类型

    描述

    frame

    DingRtcAudioDataSample

    音频数据。

  • onPublishAudioFrame: 本地推流音频数据回调。

     void onPublishAudioFrame (DingRtcAudioDataSample *_Nonnull frame)

    参数

    类型

    描述

    frame

    DingRtcAudioDataSample

    音频数据。