NERtcEngineDelegateEx Protocol Reference

Overview

NERtcEngine 扩展回调。

– onNERtcEngineUserVideoProfileDidUpdate:maxProfile:

远端用户视频编码配置已更新回调。

- (void)onNERtcEngineUserVideoProfileDidUpdate:(uint64_t)userID maxProfile:(NERtcVideoProfileType)maxProfile

Parameters

userID

远端用户 ID。

maxProfile

视频编码配置,详细信息请参考 NERtcVideoProfileType。

Discussion

远端用户视频编码配置已更新回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUser:videoMuted:

远端用户暂停或恢复发送视频流回调。

- (void)onNERtcEngineUser:(uint64_t)userID videoMuted:(BOOL)muted

Parameters

userID

用户 ID,提示是哪个用户的视频流。

muted

是否暂停发送视频流。

Discussion

远端用户暂停或恢复发送视频流回调。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineUser:audioMuted:

远端用户暂停或恢复发送音频流的回调。

- (void)onNERtcEngineUser:(uint64_t)userID audioMuted:(BOOL)muted

Parameters

userID

用户 ID,提示是哪个用户的音频流。

muted

是否暂停发送音频流。

Discussion

远端用户暂停或恢复发送音频流的回调。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineFirstVideoDataDidReceiveWithUserID:

已接收到远端视频首帧回调。

- (void)onNERtcEngineFirstVideoDataDidReceiveWithUserID:(uint64_t)userID

Parameters

userID

远端用户 ID,指定是哪个用户的视频流。

Discussion

已接收到远端视频首帧回调。

第一帧远端视频显示在视图上时,触发此调用。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineFirstAudioDataDidReceiveWithUserID:

已接收到远端音频首帧回调。

- (void)onNERtcEngineFirstAudioDataDidReceiveWithUserID:(uint64_t)userID

Parameters

userID

远端用户 ID,指定是哪个用户的音频流。

Discussion

已接收到远端音频首帧回调。

Declared In

NERtcEngineDelegate.h

– onEngineFirstAudioFrameDecoded:

已解码远端音频首帧的回调。

- (void)onEngineFirstAudioFrameDecoded:(uint64_t)userID

Parameters

userID

远端用户 ID,指定是哪个用户的音频流。

Discussion

已解码远端音频首帧的回调。

Declared In

NERtcEngineDelegate.h

– onEngineFirstVideoFrameDecoded:width:height:

已显示首帧远端视频回调。

- (void)onEngineFirstVideoFrameDecoded:(uint64_t)userID width:(uint32_t)width height:(uint32_t)height

Parameters

userID

远端用户 ID,指定是哪个用户的视频流。

width

首帧视频宽,单位为 px。

height

首帧视频高,单位为 px。

Discussion

已显示首帧远端视频回调。

引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineAudioDeviceStateChangeWithDeviceID:deviceType:deviceState:

音频设备状态已改变回调。

- (void)onNERtcEngineAudioDeviceStateChangeWithDeviceID:(NSString *)deviceID deviceType:(NERtcAudioDeviceType)deviceType deviceState:(NERtcAudioDeviceState)deviceState

Parameters

deviceID

设备 ID。

deviceType

设备类型。详细信息请参考 NERtcAudioDeviceType。

deviceState

设备状态。详细信息请参考 NERtcAudioDeviceState。

Discussion

音频设备状态已改变回调。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineVideoDeviceStateChangeWithDeviceID:deviceType:deviceState:

视频设备变化回调。

- (void)onNERtcEngineVideoDeviceStateChangeWithDeviceID:(NSString *)deviceID deviceType:(NERtcVideoDeviceType)deviceType deviceState:(NERtcVideoDeviceState)deviceState

Parameters

deviceID

设备 ID。

deviceType

设备类型。详细信息请参考 NERtcAudioDeviceType。

deviceState

设备状态。详细信息请参考 NERtcAudioDeviceState。

Discussion

视频设备变化回调。

该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineNetworkConnectionTypeChanged:

本地网络类型已改变回调。

- (void)onNERtcEngineNetworkConnectionTypeChanged:(NERtcNetworkConnectionType)newConnectionType

Parameters

newConnectionType

当前的本地网络类型,详细信息请参考 NERtcNetworkConnectionType。

Discussion

本地网络类型已改变回调。

本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中声明当前正在使用的网络连接类型。

Declared In

NERtcEngineDelegate.h

– onAudioMixingStateChanged:errorCode:

本地用户的音乐文件播放状态改变回调。

- (void)onAudioMixingStateChanged:(NERtcAudioMixingState)state errorCode:(NERtcAudioMixingErrorCode)errorCode

Parameters

state

音乐文件播放状态,详见 #NERtcAudioMixingState。

errorCode

错误码,详见 #NERtcAudioMixingErrorCode。

Discussion

本地用户的音乐文件播放状态改变回调。

调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。

  • 如果播放音乐文件正常结束,state 会返回相应的状态码 kNERtcAudioMixingStateFinished,error_code 返回 kNERtcAudioMixingErrorOK。
  • 如果播放出错,则返回状态码 kNERtcAudioMixingStateFailed,error_code 返回相应的出错原因。
  • 如果本地音乐文件不存在、文件格式不支持、无法访问在线音乐文件 URL,error_code都会返回 kNERtcAudioMixingErrorCanNotOpen。

Declared In

NERtcEngineDelegate.h

– onAudioMixingTimestampUpdate:

本地用户的音乐文件播放进度回调。

- (void)onAudioMixingTimestampUpdate:(uint64_t)timeStampMS

Parameters

timeStampMS

音乐文件播放进度,单位为毫秒。

Discussion

本地用户的音乐文件播放进度回调。

调用 startAudioMixingWithOption 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。

Declared In

NERtcEngineDelegate.h

– onAudioEffectFinished:

本地音效文件播放已结束回调。 *

- (void)onAudioEffectFinished:(uint32_t)effectId

Parameters

effectId

指定音效的 ID。每个音效均有唯一的 ID。

Discussion

本地音效文件播放已结束回调。 *

Declared In

NERtcEngineDelegate.h

– onLocalAudioVolumeIndication:

提示房间内本地用户瞬时音量的回调。

- (void)onLocalAudioVolumeIndication:(int)volume

Parameters

volume

混音后的音量,范围为 0~100。

Discussion

提示房间内本地用户瞬时音量的回调。

该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启。

开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。

如果本地用户将自己静音,即调用了 muteLocalAudio,SDK 不再报告该回调。

Declared In

NERtcEngineDelegate.h

– onRemoteAudioVolumeIndication:totalVolume:

提示房间内谁正在说话及说话者瞬时音量的回调。

- (void)onRemoteAudioVolumeIndication:(nullable NSArray<NERtcAudioVolumeInfo*> *)speakers totalVolume:(int)totalVolume

Parameters

speakers

每个说话者的用户 ID 和音量信息的数组。详细信息请参考 NERtcAudioVolumeInfo。

totalVolume

混音后的总音量,范围为 0~100。

Discussion

提示房间内谁正在说话及说话者瞬时音量的回调。

该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。

在返回的数组中:

  • 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
  • 如果 volume 为 0,表示该用户没有说话。
  • 如果数组为空,则表示此时远端没有人说话。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineHardwareResourceReleased:

硬件资源已释放回调。

- (void)onNERtcEngineHardwareResourceReleased:(NERtcError)result

Parameters

result

释放结果。详细信息请参考 NERtcError。

Discussion

硬件资源已释放回调。

如果回调结果成功,表示 SDK 已经完全释放了硬件资源。

您可以在收到回调成功后重新配置或者使用硬件资源,例如 AVAudioSession 等配置。

Declared In

NERtcEngineDelegate.h

– onNERtcCameraFocusChanged:

摄像头对焦区域已改变回调。

- (void)onNERtcCameraFocusChanged:(CGPoint)focusPoint

Parameters

focusPoint

新的对焦区域位置。

Discussion

摄像头对焦区域已改变回调。

该回调表示相机的对焦区域发生了改变。

该回调是由本地用户调用 setCameraFocusPosition 方法改变对焦位置触发的。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcCameraExposureChanged:

摄像头曝光区域已改变回调。

- (void)onNERtcCameraExposureChanged:(CGPoint)exposurePoint

Parameters

exposurePoint

新的曝光区域位置。

Discussion

摄像头曝光区域已改变回调。

该回调是由本地用户调用 setCameraExposurePosition方 法改变曝光位置触发的。

Note: 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。

Declared In

NERtcEngineDelegate.h

– onNERtcEngineAudioHasHowling

检测到啸叫回调。

- (void)onNERtcEngineAudioHasHowling

Discussion

检测到啸叫回调。

当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,自动触发该回调直至啸叫停止。App 应用层可以在收到啸叫回调时,提示用户静音麦克风,或直接静音麦克风。

Note: 啸叫检测功能一般用于语音聊天室或在线会议等纯人声环境,不推荐在包含背景音乐的娱乐场景中使用。

Declared In

NERtcEngineDelegate.h