NERtcEngine 扩展回调。
更多...
#import <NERtcEngineDelegate.h>
◆ onAudioEffectFinished:
- (void) onAudioEffectFinished: |
|
(uint32_t) |
effectId |
|
|
optional |
本地音效文件播放已结束回调。
- 参数
-
effectId | 指定音效的 ID。每个音效均有唯一的 ID。 |
◆ onAudioMixingStateChanged:errorCode:
本地用户的音乐文件播放状态改变回调。
调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。
- 如果播放音乐文件正常结束,state 会返回相应的状态码 kNERtcAudioMixingStateFinished,error_code 返回 kNERtcAudioMixingErrorOK。
- 如果播放出错,则返回状态码 kNERtcAudioMixingStateFailed,error_code 返回相应的出错原因。
- 如果本地音乐文件不存在、文件格式不支持、无法访问在线音乐文件 URL,error_code都会返回 kNERtcAudioMixingErrorCanNotOpen。
- 参数
-
◆ onAudioMixingTimestampUpdate:
- (void) onAudioMixingTimestampUpdate: |
|
(uint64_t) |
timeStampMS |
|
|
optional |
本地用户的音乐文件播放进度回调。
调用 startAudioMixingWithOption 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。
- 参数
-
timeStampMS | 音乐文件播放进度,单位为毫秒。 |
◆ onEngineFirstAudioFrameDecoded:
- (void) onEngineFirstAudioFrameDecoded: |
|
(uint64_t) |
userID |
|
|
optional |
已解码远端音频首帧的回调。
- 参数
-
userID | 远端用户 ID,指定是哪个用户的音频流。
|
◆ onEngineFirstVideoFrameDecoded:width:height:
- (void) onEngineFirstVideoFrameDecoded: |
|
(uint64_t) |
userID |
width: |
|
(uint32_t) |
width |
height: |
|
(uint32_t) |
height |
|
|
| |
|
optional |
已显示首帧远端视频回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。 App 可在此回调中设置该用户的视频画布。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
userID | 远端用户 ID,指定是哪个用户的视频流。
|
width | 首帧视频宽,单位为 px。 |
height | 首帧视频高,单位为 px。 |
◆ onLocalAudioVolumeIndication:
- (void) onLocalAudioVolumeIndication: |
|
(int) |
volume |
|
|
optional |
提示房间内本地用户瞬时音量的回调。
该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启。
开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
如果本地用户将自己静音,即调用了 muteLocalAudio,SDK 不再报告该回调。
- 参数
-
◆ onNERtcCameraExposureChanged:
- (void) onNERtcCameraExposureChanged: |
|
(CGPoint) |
exposurePoint |
|
|
optional |
摄像头曝光区域已改变回调。
该回调是由本地用户调用 setCameraExposurePosition方法改变曝光位置触发的。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
◆ onNERtcCameraFocusChanged:
- (void) onNERtcCameraFocusChanged: |
|
(CGPoint) |
focusPoint |
|
|
optional |
摄像头对焦区域已改变回调。
该回调表示相机的对焦区域发生了改变。
该回调是由本地用户调用 setCameraFocusPosition 方法改变对焦位置触发的。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
◆ onNERtcEngineAudioDeviceStateChangeWithDeviceID:deviceType:deviceState:
◆ onNERtcEngineAudioHasHowling
- (void) onNERtcEngineAudioHasHowling |
|
|
|
|
optional |
检测到啸叫回调。
当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,自动触发该回调直至啸叫停止。App 应用层可以在收到啸叫回调时,提示用户静音麦克风,或直接静音麦克风。
- 注解
- 啸叫检测功能一般用于语音聊天室或在线会议等纯人声环境,不推荐在包含背景音乐的娱乐场景中使用。
◆ onNERtcEngineAudioRecording:filePath:
◆ onNERtcEngineChannelMediaRelayStateDidChange:channelName:
◆ onNERtcEngineDidReceiveChannelMediaRelayEvent:channelName:error:
◆ onNERtcEngineFirstAudioDataDidReceiveWithUserID:
- (void) onNERtcEngineFirstAudioDataDidReceiveWithUserID: |
|
(uint64_t) |
userID |
|
|
optional |
已接收到远端音频首帧回调。
- 参数
-
userID | 远端用户 ID,指定是哪个用户的音频流。
|
◆ onNERtcEngineFirstVideoDataDidReceiveWithUserID:
- (void) onNERtcEngineFirstVideoDataDidReceiveWithUserID: |
|
(uint64_t) |
userID |
|
|
optional |
已接收到远端视频首帧回调。
第一帧远端视频显示在视图上时,触发此调用。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
userID | 远端用户 ID,指定是哪个用户的视频流。 |
◆ onNERtcEngineHardwareResourceReleased:
- (void) onNERtcEngineHardwareResourceReleased: |
|
(NERtcError) |
result |
|
|
optional |
硬件资源已释放回调。
如果回调结果成功,表示 SDK 已经完全释放了硬件资源。
您可以在收到回调成功后重新配置或者使用硬件资源,例如 AVAudioSession 等配置。
- 参数
-
◆ onNERtcEngineLocalPublishFallbackToAudioOnly:streamType:
- (void) onNERtcEngineLocalPublishFallbackToAudioOnly: |
|
(BOOL) |
isFallback |
streamType: |
|
(NERtcStreamChannelType) |
streamType |
|
|
| |
|
optional |
本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 setLocalPublishFallbackOption 接口,并将 option 设置为 kNERtcStreamFallbackOptionAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。
- 自从
- V4.3.0
- 参数
-
isFallback | 本地发布流已回退或已恢复。
- YES: 由于网络环境不理想,发布的媒体流已回退为音频流。
- NO:由于网络环境改善,从音频流恢复为音视频流。
|
streamType | 对应的视频流类型,即主流或辅流。详细信息请参考 NERtcStreamChannelType。 |
◆ onNERtcEngineNetworkConnectionTypeChanged:
本地网络类型已改变回调。
本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中声明当前正在使用的网络连接类型。
- 参数
-
◆ onNERtcEngineRemoteSubscribeFallbackToAudioOnly:isFallback:streamType:
- (void) onNERtcEngineRemoteSubscribeFallbackToAudioOnly: |
|
(uint64_t) |
uid |
isFallback: |
|
(BOOL) |
isFallback |
streamType: |
|
(NERtcStreamChannelType) |
streamType |
|
|
| |
|
optional |
订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果你调用了设置远端订阅流回退选项 setRemoteSubscribeFallbackOption 接口并将 option 设置 kNERtcStreamFallbackOptionAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。
- 自从
- V4.3.0
- 参数
-
isFallback | 远端订阅流已回退或恢复:
- YES: 由于网络环境不理想,订阅的远端流已回退为音频流。
- NO:由于网络环境改善,订阅的远端流从音频流恢复为音视频流。
|
uid | 远端用户 ID。 |
streamType | 对应的视频流类型,即主流或辅流。详细信息请参考 NERtcStreamChannelType。 |
◆ onNERtcEngineUser:audioMuted:
- (void) onNERtcEngineUser: |
|
(uint64_t) |
userID |
audioMuted: |
|
(BOOL) |
muted |
|
|
| |
|
optional |
远端用户暂停或恢复发送音频流的回调。
- 参数
-
userID | 用户 ID,提示是哪个用户的音频流。 |
muted | 是否暂停发送音频流。 |
◆ onNERtcEngineUser:videoMuted:
- (void) onNERtcEngineUser: |
|
(uint64_t) |
userID |
videoMuted: |
|
(BOOL) |
muted |
|
|
| |
|
optional |
远端用户暂停或恢复发送视频流回调。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
userID | 用户 ID,提示是哪个用户的视频流。 |
muted | 是否暂停发送视频流。 |
◆ onNERtcEngineUserVideoProfileDidUpdate:maxProfile:
- (void) onNERtcEngineUserVideoProfileDidUpdate: |
|
(uint64_t) |
userID |
maxProfile: |
|
(NERtcVideoProfileType) |
maxProfile |
|
|
| |
|
optional |
远端用户视频编码配置已更新回调。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
◆ onNERtcEngineVideoDeviceStateChangeWithDeviceID:deviceType:deviceState:
视频设备变化回调。
该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。
- 注解
- 纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
- 参数
-
◆ onRemoteAudioVolumeIndication:totalVolume:
- (void) onRemoteAudioVolumeIndication: |
|
(nullable NSArray< NERtcAudioVolumeInfo * > *) |
speakers |
totalVolume: |
|
(int) |
totalVolume |
|
|
| |
|
optional |
提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的数组中:
- 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
- 如果 volume 为 0,表示该用户没有说话。
- 如果数组为空,则表示此时远端没有人说话。
- 参数
-
该协议的文档由以下文件生成: