NERtc iOS SDK V5.6.30
|
NERtcEngine 扩展回调。 更多...
#include <NERtcEngineDelegate.h>
构造函数 | |
(void) | - onNERtcEngineUserVideoProfileDidUpdate:maxProfile: |
远端用户视频编码配置已更新回调。 | |
(void) | - onNERtcEngineUser:videoMuted: |
远端用户暂停或恢复发送视频流回调。 当远端用户调用 muteLocalVideo 取消或者恢复发布视频流时,SDK 会触发该回调向本地用户报告远程用户的发流状况。 | |
(void) | - onNERtcEngineUser:videoMuted:streamType: |
远端用户暂停或恢复发送视频回调。 当远端用户调用 INERtcEngineEx#muteLocalVideo:streamType: 方法取消或者恢复发布视频流时,SDK 会触发该回调向本地用户通知远端用户的发流情况。 | |
(void) | - onNERtcEngineUser:audioMuted: |
远端用户暂停或恢复发送音频流的回调。 | |
(void) | - onNERtcEngineFirstVideoDataDidReceiveWithUserID: |
已接收到远端视频首帧回调。 SDK 收到远端第一帧视频并解码成功时,触发此调用。每次重新调用 enableLocalVideo 开启本地视频采集,也会触发该回调(V5.5.10 版本开始)。App 可在此回调中设置该用户的视频画布。 | |
(void) | - onNERtcEngineFirstVideoDataDidReceiveWithUserID:streamType: |
已显示远端视频首帧的回调。 | |
(void) | - onNERtcEngineRemoteVideoSizeDidChangedWithUserID:width:height:streamType: |
接收的远端视频分辨率变化回调。 | |
(void) | - onNERtcEngineLocalVideoRenderSizeChanged:width:height: |
本地视频预览的分辨率变化回调, 与是否进入房间的状态无关,与硬件状态有关,也适用于预览。 | |
(void) | - onNERtcEngineFirstAudioDataDidReceiveWithUserID: |
已接收到远端音频首帧回调。 | |
(void) | - onEngineFirstAudioFrameDecoded: |
已接收到远端音频首帧并完成解码的回调。 | |
(void) | - onNERtcEngineLocalFirstAudioPacketSent: |
本地第一帧音频发送到远端的回调。 | |
(void) | - onEngineFirstVideoFrameDecoded:width:height: |
已接收到远端视频首帧并完成解码的回调。 引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。 | |
(void) | - onEngineFirstVideoFrameDecoded:width:height:streamType: |
已接收到远端视频首帧并完成解码的回调。 当 SDK 收到远端视频并解码成功时,会触发该回调。应用层可在该回调中设置此用户的视频画布。 | |
(void) | - onEngineFirstVideoFrameRender:width:height:elapsed:streamType: |
已接收到远端视频首帧并完成渲染的回调。 当 SDK 第一帧远端视频流并渲染成功时,会触发该回调。 | |
(void) | - onNERtcEngineAudioDeviceStateChangeWithDeviceID:deviceType:deviceState: |
音频设备状态已改变回调。 | |
(void) | - onNERtcEngineVideoDeviceStateChangeWithDeviceID:deviceType:deviceState: |
视频设备变化回调。 该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。 | |
(void) | - onNERtcEngineNetworkConnectionTypeChanged: |
本地网络类型已改变回调。 本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中声明当前正在使用的网络连接类型。 | |
(void) | - onAudioMixingStateChanged:errorCode: |
本地用户的音乐文件播放状态改变回调。 调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。 | |
(void) | - onAudioMixingTimestampUpdate: |
本地用户的音乐文件播放进度回调。 调用 startAudioMixingWithOption 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。 | |
(void) | - onAudioEffectFinished: |
本地音效文件播放已结束回调。 | |
(void) | - onAudioEffectTimestampUpdateWithId:timeStampMS: |
本地用户的指定音效文件播放进度回调。 | |
(void) | - onLocalAudioVolumeIndication: |
提示房间内本地用户瞬时音量的回调。 该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启。 开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音,即调用了 muteLocalAudio,SDK 不再报告该回调。 | |
(void) | - onLocalAudioVolumeIndication:withVad: |
提示房间内本地用户瞬时音量的回调。 该回调默认为关闭状态。可以通过 INERtcEngineEx#enableAudioVolumeIndication:interval:vad: 方法开启;开启后,本地用户说话,SDK 会按该方法中设置的时间间隔触发该回调。 如果本地用户将自己静音(调用了 INERtcEngineEx#muteLocalAudio: ),SDK 将音量设置为 0 后回调给应用层。 | |
(void) | - onRemoteAudioVolumeIndication:totalVolume: |
提示房间内谁正在说话及说话者瞬时音量的回调。 该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 在返回的数组中: | |
(void) | - onNERtcEngineHardwareResourceReleased: |
硬件资源已释放回调。 如果回调结果成功,表示 SDK 已经完全释放了硬件资源。 您可以在收到回调成功后重新配置或者使用硬件资源,例如 AVAudioSession 等配置。 | |
(void) | - onNERtcCameraFocusChanged: |
摄像头对焦区域已改变回调。 该回调表示相机的对焦区域发生了改变。 该回调是由本地用户调用 setCameraFocusPosition 方法改变对焦位置触发的。 | |
(void) | - onNERtcCameraExposureChanged: |
摄像头曝光区域已改变回调。 该回调是由本地用户调用 setCameraExposurePosition 方法改变曝光位置触发的。 | |
(void) | - onNERtcEngineAudioHasHowling |
(void) | - onNERtcEngineAudioHasHowling: |
检测啸叫回调, 调用 JoinChannel 成功后,会一直周期性触发该回调, 不建议在该回调里做频繁的 API 调用和耗时操作。 当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,参数 flag 为 YES,无啸叫时参数 flag 为 NO。App 应用层可以在有啸叫时,提示用户静音麦克风,或直接静音麦克风。 | |
(void) | - onNERtcEngineChannelMediaRelayStateDidChange:channelName: |
跨房间媒体流转发状态发生改变回调。 | |
(void) | - onNERtcEngineDidReceiveChannelMediaRelayEvent:channelName:error: |
媒体流相关转发事件回调。 | |
(void) | - onNERtcEngineAudioRecording:filePath: |
音频录制状态回调。 | |
(void) | - onNERtcEngineLocalPublishFallbackToAudioOnly:streamType: |
本地发布流已回退为音频流、或已恢复为音视频流回调。 如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。 | |
(void) | - onNERtcEngineRemoteSubscribeFallbackToAudioOnly:isFallback:streamType: |
订阅的远端流已回退为音频流、或已恢复为音视频流回调。 如果您调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 kNERtcStreamFallbackOptionAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。 | |
(void) | - onNERtcEngineLastmileQuality: |
通话前网络上下行 last mile 质量状态回调。 该回调描述本地用户在加入房间前的 last mile 网络探测的结果,以打分形式描述上下行网络质量的主观体验,您可以通过该回调预估本地用户在音视频通话中的网络体验。 在调用 startLastmileProbeTest 之后,SDK 会在约 5 秒内返回该回调。 | |
(void) | - onNERtcEngineLastmileProbeTestResult: |
通话前网络上下行 Last mile 质量探测报告回调。 该回调描述本地用户在加入房间前的 last mile 网络探测详细报告,报告中通过客观数据反馈上下行网络质量,包括网络抖动、丢包率等数据。您可以通过该回调客观预测本地用户在音视频通话中的网络状态。 在调用 startLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。 | |
(void) | - onNERtcEngineVirtualBackgroundSourceEnabled:reason: |
通知虚拟背景是否成功开启的回调。 调用 INERtcEngineEx#enableVirtualBackground:backData: 接口启用虚拟背景功能后,SDK 会触发此回调。 | |
(void) | - onNERtcEngineLocalVideoWatermarkStateWithStreamType:state: |
本地视频水印生效结果回调。 | |
(void) | - onNERtcEnginePermissionKeyWillExpire |
权限密钥即将过期事件回调。 | |
(void) | - onNERtcEngineUpdatePermissionKey:error:timeout: |
更新权限密钥事件回调。 | |
(void) | - onNERtcEngineUserDataDidStart: |
远端用户开启数据通道的回调。 | |
(void) | - onNERtcEngineUserDataDidStop: |
远端用户停用数据通道的回调。 | |
(void) | - onNERtcEngineUserDataReceiveMessage:data: |
远端用户通过数据通道发送数据的回调。 | |
(void) | - onNERtcEngineUserDataStateChanged: |
远端用户数据通道状态变更回调。 | |
(void) | - onNERtcEngineUserDataBufferedAmountChanged:previousAmount: |
远端用户数据通道 buffer 变更回调。 | |
(void) | - onNERtcEngineLabFeatureDidCallbackWithKey:param: |
实验功能回调接口,用于回调一些非正式的事件及数据通知 | |
构造函数 继承自 <NERtcEngineDelegate> | |
(void) | - onNERtcEngineDidError: |
发生错误回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。 通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。 | |
(void) | - onNERtcEngineDidWarning:msg: |
发生警告回调。 该回调方法表示 SDK 运行时出现了网络或媒体相关的警告。 通常情况下,SDK 上报的警告意味着 SDK 无法自动适配,需要 App 干预或提示用户。 | |
(void) | - onNERtcEngineApiDidExecuted:errCode:msg: |
(void) | - onNERtcEngineConnectionStateChangeWithState:reason: |
SDK 和服务端的连接状态已改变回调。 该回调在 SDK 和服务端的连接状态发生改变时触发,并告知用户当前的连接状态和引起状态改变的原因。 | |
(void) | - onNERtcEngineDidLeaveChannelWithResult: |
退出房间回调。 App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。 | |
(void) | - onNERtcEngineDidDisconnectWithReason: |
与服务器连接中断,可能原因包括:网络连接失败、服务器关闭该房间、用户被踢出房间等。 | |
(void) | - onNERtcEngineRejoinChannel: |
重新加入房间回调。 在弱网环境下,若客户端和服务器失去连接,SDK 会自动重连。自动重连成功后触发此回调方法。 | |
(void) | - onNERtcEngineUserDidJoinWithUserID:userName: |
远端用户加入当前房间回调。 该回调提示有远端用户加入了房间,并返回新加入用户的 ID;如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。 | |
(void) | - onNERtcEngineUserDidJoinWithUserID:userName:joinExtraInfo: |
远端用户加入房间事件回调。 | |
(void) | - onNERtcEngineUserDidLeaveWithUserID:reason: |
远端用户离开当前房间回调。 提示有远端用户离开了房间(或掉线)。用户离开房间有两个原因,即正常离开和超时掉线: | |
(void) | - onNERtcEngineUserDidLeaveWithUserID:reason:leaveExtraInfo: |
远端用户离开房间事件回调。 | |
(void) | - onNERtcEngineDidClientRoleChanged:newRole: |
直播场景下用户角色已切换回调。 用户加入房间后,通过 INERtcEngine#setClientRole: 切换用户角色后会触发此回调。例如从主播切换为观众、从观众切换为主播。 | |
(void) | - onNERtcEngineReconnectingStart |
重连开始回调。 客户端和服务器断开连接时,SDK 会进行重连,重连开始时触发此回调。重连结果请参考 onNERtcEngineRejoinChannel 、onNERtcEngineDidDisconnectWithReason。 | |
(void) | - onNERtcEngineUserAudioDidStart: |
远端用户开启音频回调。 | |
(void) | - onNERtcEngineUserAudioDidStop: |
远端用户停用音频回调。 | |
(void) | - onNERtcEngineUserVideoDidStartWithUserID:videoProfile: |
远端用户开启视频回调。 启用后,用户可以进行视频通话或直播。 | |
(void) | - onNERtcEngineUserVideoDidStop: |
远端用户停用视频回调。 关闭后,用户只能进行语音通话或者直播。 | |
(void) | - onNERtcEngineUserSubStreamDidStartWithUserID:subStreamProfile: |
远端用户开启屏幕共享辅流通道的回调。 | |
(void) | - onNERtcEngineUserSubStreamDidStop: |
远端用户停止屏幕共享辅流通道的回调。 | |
(void) | - onNERtcEngineMediaRightChangeWithAudio:video: |
服务端禁言音视频权限变化回调。 | |
(void) | - onNERtcEngineUserSubStreamAudioDidStart: |
远端用户开启音频辅流回调。 | |
(void) | - onNERtcEngineUserSubStreamAudioDidStop: |
远端用户停用音频辅流回调。 | |
(void) | - onNERtcEngineUser:subStreamAudioMuted: |
远端用户暂停或恢复发送音频辅流的回调。 | |
构造函数 继承自 <NERtcEngineVideoFrameObserver> | |
(void) | - onNERtcEngineVideoFrameCaptured:rotation: |
设置视频采集数据回调,用于美颜等操作。 同步返回,Engine 将会继续视频处理流程。 | |
构造函数 继承自 <NERtcEngineAudioSessionObserver> | |
(void) | - onNERtcEngineAudioDeviceRoutingDidChange: |
音频路由变化回调。 | |
构造函数 继承自 <NERtcEngineLiveStreamObserver> | |
(void) | - onNERTCEngineLiveStreamState:taskID:url: |
推流状态已改变回调。 | |
构造函数 继承自 <NERtcEngineVideoSEIObserver> | |
(void) | - onNERtcEngineRecvSEIMsg:message: |
收到远端流的 SEI 内容回调。 当远端成功发送 SEI 后,本端会收到此回调。 | |
构造函数 继承自 <NERtcEnginePushStreamingObserver> | |
(void) | - onNERtcEngineStartPushStreamingWithResult:channelId: |
startPushStreaming 开始推流的结果回调。 | |
(void) | - onNERtcEngineStopPushStreaming: |
stopPushStreaming 停止 RTMP 推流的结果回调。 | |
(void) | - onNERtcEnginePushStreamingChangeToReconnectingWithReason: |
推流过程中推流状态变为重连中的回调 | |
(void) | - onNERtcEnginePushStreamingReconnectedSuccess |
推流过程中重连成功的回调。 | |
NERtcEngine 扩展回调。
|
optionalrequired |
本地音效文件播放已结束回调。
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
|
optionalrequired |
本地用户的指定音效文件播放进度回调。
INERtcEngineEx#playEffectWitdId:effectOption:
方法播放音效文件后,SDK 会触发该回调,默认每 1s 返回一次。 INERtcEngine#setupEngineWithContext:
接口设置回调监听。 参数名称 | 类型 | 描述 |
---|---|---|
effectId | uint32_t | 指定音效文件的 ID。每个音效均有唯一的 ID。 |
timestampMs | uint64_t | 指定音效文件的当前播放进度。单位为毫秒。 |
|
optionalrequired |
本地用户的音乐文件播放状态改变回调。 调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。
state | 音乐文件播放状态,详细信息请参考 NERtcAudioMixingState 。 |
errorCode | 错误码,详细信息请参考 NERtcAudioMixingErrorCode 。 |
|
optionalrequired |
本地用户的音乐文件播放进度回调。 调用 startAudioMixingWithOption 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。
timeStampMS | 音乐文件播放进度,单位为毫秒。 |
|
optionalrequired |
已接收到远端音频首帧并完成解码的回调。
userID | 远端用户 ID,指定是哪个用户的音频流。 |
|
optionalrequired |
已接收到远端视频首帧并完成解码的回调。 引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。
onEngineFirstVideoFrameDecoded:width:height:streamType:
回调。 userID | 远端用户 ID,指定是哪个用户的视频流。 |
width | 首帧视频宽,单位为 px。 |
height | 首帧视频高,单位为 px。 |
|
optionalrequired |
已接收到远端视频首帧并完成解码的回调。
当 SDK 收到远端视频并解码成功时,会触发该回调。应用层可在该回调中设置此用户的视频画布。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 用户 ID,提示是哪个用户的视频流。 |
width | uint32_t | 首帧视频的宽度,单位为 px。 |
height | uint32_t | 首帧视频的高度,单位为 px。 |
type | NERtcStreamChannelType | 视频通道类型:
|
|
optionalrequired |
已接收到远端视频首帧并完成渲染的回调。
当 SDK 第一帧远端视频流并渲染成功时,会触发该回调。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 用户 ID,提示是哪个用户的视频流。 |
width | uint32_t | 首帧视频的宽度,单位为 px。 |
height | uint32_t | 首帧视频的高度,单位为 px。 |
elapsed | uint64_t | 从订阅动作开始到发生此事件过去的时间(毫秒)。 |
type | NERtcStreamChannelType | 视频通道类型:
|
|
optionalrequired |
提示房间内本地用户瞬时音量的回调。 该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启。 开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 如果本地用户将自己静音,即调用了 muteLocalAudio,SDK 不再报告该回调。
volume | 混音后的音量,范围为 0~100。 |
|
optionalrequired |
提示房间内本地用户瞬时音量的回调。
该回调默认为关闭状态。可以通过 INERtcEngineEx#enableAudioVolumeIndication:interval:vad:
方法开启;开启后,本地用户说话,SDK 会按该方法中设置的时间间隔触发该回调。
如果本地用户将自己静音(调用了 INERtcEngineEx#muteLocalAudio:
),SDK 将音量设置为 0 后回调给应用层。
volume | 混音后的音量,范围为 0 ~ 100。 |
enableVad | 是否检测到人声。 |
|
optionalrequired |
摄像头曝光区域已改变回调。 该回调是由本地用户调用 setCameraExposurePosition 方法改变曝光位置触发的。
exposurePoint | 新的曝光区域位置。 |
|
optionalrequired |
摄像头对焦区域已改变回调。 该回调表示相机的对焦区域发生了改变。 该回调是由本地用户调用 setCameraFocusPosition 方法改变对焦位置触发的。
focusPoint | 新的对焦区域位置。 |
|
optionalrequired |
音频设备状态已改变回调。
deviceID | 设备 ID。 |
deviceType | 设备类型。详细信息请参考 NERtcAudioDeviceType 。 |
deviceState | 设备状态。详细信息请参考 NERtcAudioDeviceState 。 |
|
optionalrequired |
- (void)onNERtcEngineAudioHasHowling:flag
. 检测到啸叫回调。 当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,自动触发该回调直至啸叫停止。App 应用层可以在收到啸叫回调时,提示用户静音麦克风,或直接静音麦克风。
|
optionalrequired |
检测啸叫回调, 调用 JoinChannel 成功后,会一直周期性触发该回调, 不建议在该回调里做频繁的 API 调用和耗时操作。 当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,参数 flag 为 YES,无啸叫时参数 flag 为 NO。App 应用层可以在有啸叫时,提示用户静音麦克风,或直接静音麦克风。
flag | 是否检测到啸叫。 |
|
optionalrequired |
音频录制状态回调。
code | 音频录制状态码。详细信息请参考 NERtcAudioRecordingCode 。 |
filePath | 音频录制文件保存路径。 |
|
optionalrequired |
跨房间媒体流转发状态发生改变回调。
state | 当前跨房间媒体流转发状态。详细信息请参考 NERtcChannelMediaRelayState 。 |
channelName | 媒体流转发的目标房间名。 |
|
optionalrequired |
媒体流相关转发事件回调。
event | 当前媒体流转发事件。详细信息请参考 NERtcChannelMediaRelayEvent 。 |
channelName | 转发的目标房间名。 |
error | 相关错误码。详细信息请参考 NERtcEngineErrorCode.NERtcError 。 |
|
optionalrequired |
已接收到远端音频首帧回调。
userID | 远端用户 ID,指定是哪个用户的音频流。 |
|
optionalrequired |
已接收到远端视频首帧回调。 SDK 收到远端第一帧视频并解码成功时,触发此调用。每次重新调用 enableLocalVideo 开启本地视频采集,也会触发该回调(V5.5.10 版本开始)。App 可在此回调中设置该用户的视频画布。
NERtcEngineDelegateEx#onNERtcEngineFirstVideoDataDidReceiveWithUserID:streamType:
回调。 userID | 远端用户 ID,指定是哪个用户的视频流。 |
|
optionalrequired |
已显示远端视频首帧的回调。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 用户 ID,提示是哪个用户的视频流。 |
type | NERtcStreamChannelType | 视频通道类型:
|
|
optionalrequired |
硬件资源已释放回调。 如果回调结果成功,表示 SDK 已经完全释放了硬件资源。 您可以在收到回调成功后重新配置或者使用硬件资源,例如 AVAudioSession 等配置。
result | 释放结果。详细信息请参考 NERtcEngineErrorCode.NERtcError 。 |
|
optionalrequired |
实验功能回调接口,用于回调一些非正式的事件及数据通知
key | 功能对应的 key |
param | 回调的参数,每个 key 对应的参数,数据类型不一样,需要转换后使用,详情请 提交工单 联系网易云信技术支持工程师 |
|
optionalrequired |
通话前网络上下行 Last mile 质量探测报告回调。
该回调描述本地用户在加入房间前的 last mile 网络探测详细报告,报告中通过客观数据反馈上下行网络质量,包括网络抖动、丢包率等数据。您可以通过该回调客观预测本地用户在音视频通话中的网络状态。
在调用 startLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。
result | 上下行 Last mile 质量探测结果。 |
|
optionalrequired |
通话前网络上下行 last mile 质量状态回调。
该回调描述本地用户在加入房间前的 last mile 网络探测的结果,以打分形式描述上下行网络质量的主观体验,您可以通过该回调预估本地用户在音视频通话中的网络体验。
在调用 startLastmileProbeTest 之后,SDK 会在约 5 秒内返回该回调。
quality | 网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。 |
|
optionalrequired |
本地第一帧音频发送到远端的回调。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | see NERtcAudioStreamType | 音频通道类型:
|
|
optionalrequired |
本地发布流已回退为音频流、或已恢复为音视频流回调。 如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。
isFallback | 本地发布流已回退或已恢复。
|
streamType | 对应的视频流类型,即主流或辅流。详细信息请参考 NERtcStreamChannelType 。 |
|
optionalrequired |
本地视频预览的分辨率变化回调, 与是否进入房间的状态无关,与硬件状态有关,也适用于预览。
参数名称 | 类型 | 描述 |
---|---|---|
streamType | NERtcStreamChannelType | 当前的流类型。
|
width | uint32_t | 首帧视频的宽,单位为 px。 |
height | uint32_t | 首帧视频的高,单位为 px。 |
|
optionalrequired |
本地视频水印生效结果回调。
type | 对应的视频流类型,即主流或辅流。详细信息请参考 NERtcStreamChannelType 。 |
state | 水印状态。详细信息请参考 NERtcLocalVideoWatermarkState 。 |
|
optionalrequired |
本地网络类型已改变回调。 本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中声明当前正在使用的网络连接类型。
newConnectionType | 当前的本地网络类型,详细信息请参考 NERtcNetworkConnectionType 。 |
|
optionalrequired |
权限密钥即将过期事件回调。
INERtcEngine#setupEngineWithContext:
接口设置回调监听。 INERtcEngineEx#updatePermissionKey:
方法更新权限密钥。
|
optionalrequired |
订阅的远端流已回退为音频流、或已恢复为音视频流回调。 如果您调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 kNERtcStreamFallbackOptionAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
uid | 远端用户 ID。 |
isFallback | 远端订阅流已回退或恢复:
|
streamType | 对应的视频流类型,即主流或辅流。详细信息请参考 NERtcStreamChannelType 。 |
|
optionalrequired |
接收的远端视频分辨率变化回调。
参数名称 | 类型 | 描述 |
---|---|---|
uid | uint64_t | 远端用户 ID,指定是哪个用户的视频流。 |
type | NERtcStreamChannelType | 视频通道类型:
|
width | uint32_t | 视频采集的宽,单位为 px |
height | uint32_t | 视频采集的高,单位为 px |
|
optionalrequired |
更新权限密钥事件回调。
INERtcEngineEx#updatePermissionKey:
方法主动更新权限密钥后,SDK 会触发该回调,返回权限密钥更新的结果。 INERtcEngine#setupEngineWithContext:
接口设置回调监听。 参数名称 | 类型 | 描述 |
---|---|---|
key | NSString * | 新的权限密钥。 |
error | NERtcEngineErrorCode.NERtcError | 错误码。
|
timeout | NSUInteger | 更新后的权限密钥剩余有效时间。单位为秒。 |
|
optionalrequired |
远端用户暂停或恢复发送音频流的回调。
userID | 用户 ID,提示是哪个用户的音频流。 |
muted | 是否暂停发送音频流。 |
|
optionalrequired |
远端用户暂停或恢复发送视频流回调。
当远端用户调用 muteLocalVideo 取消或者恢复发布视频流时,SDK 会触发该回调向本地用户报告远程用户的发流状况。
NERtcEngineDelegateEx#onNERtcEngineUser:videoMuted:streamType:
回调。 userID | 用户 ID,提示是哪个用户的视频流。 |
muted | 是否暂停发送视频流。
|
|
optionalrequired |
远端用户暂停或恢复发送视频回调。
当远端用户调用 INERtcEngineEx#muteLocalVideo:streamType:
方法取消或者恢复发布视频流时,SDK 会触发该回调向本地用户通知远端用户的发流情况。
参数名称 | 类型 | 描述 |
---|---|---|
userID | uint64_t | 用户 ID,提示是哪个用户的视频流。 |
muted | BOOL | 是否暂停发送视频流:
|
streamType | NERtcStreamChannelType | 视频通道类型:
|
|
optionalrequired |
远端用户数据通道 buffer 变更回调。
userID | 远端用户 ID。 |
previousAmount | 变更前大小。 |
|
optionalrequired |
远端用户开启数据通道的回调。
userID | 远端用户 ID。 |
|
optionalrequired |
远端用户停用数据通道的回调。
userID | 远端用户 ID。 |
|
optionalrequired |
远端用户通过数据通道发送数据的回调。
userID | 远端用户 ID。 |
data | 数据。 |
|
optionalrequired |
远端用户数据通道状态变更回调。
userID | 远端用户 ID。 |
|
optional |
远端用户视频编码配置已更新回调。
userID | 远端用户 ID。 |
maxProfile | 视频编码配置,详细信息请参考 NERtcVideoProfileType 。 |
|
optionalrequired |
视频设备变化回调。 该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。
deviceID | 设备 ID。 |
deviceType | 设备类型。详细信息请参考 NERtcAudioDeviceType 。 |
deviceState | 设备状态。详细信息请参考 NERtcAudioDeviceState 。 |
|
optionalrequired |
通知虚拟背景是否成功开启的回调。
调用 INERtcEngineEx#enableVirtualBackground:backData:
接口启用虚拟背景功能后,SDK 会触发此回调。
enabled | 是否已成功开启虚拟背景。
|
reason | 虚拟背景开启出错的原因或开启成功的提示。详细信息请参考 NERtcVirtualBackgroundSourceStateReason |
|
optionalrequired |
提示房间内谁正在说话及说话者瞬时音量的回调。 该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。 在返回的数组中:
speakers | 每个说话者的用户 ID 和音量信息的数组。详细信息请参考 NERtcAudioVolumeInfo 。 |
totalVolume | 混音后的总音量,范围为 0~100。 |