#include <nerecord_engine_event_handler.h>
|
virtual void | onError (int error_code, const char *msg) |
|
virtual void | onWarning (int warn_code, const char *msg) |
|
virtual void | onConnectInterrupted () |
|
virtual void | onJoinChannel (channel_id_t cid, uid_t uid, NERtcErrorCode result, uint64_t elapsed) |
|
virtual void | onRejoinChannel (channel_id_t cid, uid_t uid, NERtcErrorCode result, uint64_t elapsed) |
|
virtual void | onLeaveChannel (NERtcErrorCode result) |
|
virtual void | onDisconnect (NERtcErrorCode reason) |
|
virtual void | onUserJoined (uid_t uid, const char *user_name) |
|
virtual void | onUserLeft (uid_t uid, NERtcSessionLeaveReason reason) |
|
virtual void | onUserAudioStart (uid_t uid) |
|
virtual void | onUserAudioStop (uid_t uid) |
|
virtual void | audioFrameReceived (uid_t uid, const NERtcAudioFrame *frame) |
|
virtual void | audioFrameMixed (const NERtcAudioFrame *frame) |
|
virtual void | onUserAudioMute (uid_t uid, bool mute) |
|
virtual void | onUserVideoStart (uid_t uid, NERtcVideoProfileType max_profile) |
|
virtual void | onUserVideoStop (uid_t uid) |
|
virtual void | videoFrameReceived (uid_t uid, const NERtcVideoFrame *frame) |
|
virtual void | videoSubstreamFrameReceived (uid_t uid, const NERtcVideoFrame *frame) |
|
virtual void | onUserVideoMute (uid_t uid, bool mute) |
|
virtual void | onUserSubStreamVideoStart (uid_t uid, NERtcVideoProfileType max_profile) |
|
virtual void | onUserSubStreamVideoStop (uid_t uid) |
|
virtual void | onRemoteAudioVolumeIndication (const NERtcAudioVolumeInfo *speakers, unsigned int speaker_number, int total_volume) |
|
virtual void | onActiveSpeaker (uid_t uid) |
|
virtual void | onFirstAudioDataReceived (uid_t uid) |
|
virtual void | onFirstVideoDataReceived (uid_t uid) |
|
virtual void | onFirstAudioFrameDecoded (uid_t uid) |
|
virtual void | onFirstVideoFrameDecoded (uid_t uid, uint32_t width, uint32_t height) |
|
virtual void | onFirstVideoFrameDecoded (NERtcVideoStreamType type, uid_t uid, uint32_t width, uint32_t height) |
|
virtual void | onRecordStats (const NERtcStats *stats) |
|
virtual void | onLocalAudioStats (const NERtcAudioSendStats *stats) |
|
virtual void | onRemoteAudioStats (const NERtcAudioRecvStats *stats, unsigned int user_count) |
|
virtual void | onLocalVideoStats (const NERtcVideoSendStats *stats) |
|
virtual void | onRemoteVideoStats (const NERtcVideoRecvStats *stats, unsigned int user_count) |
|
virtual void | onConnectionStateChanged (NERtcConnectionStateType connection_state, NERtcErrorCode reason) |
|
virtual void | onMixingLayoutChanged (uint32_t regionCount, const NERtcRegion *regions) |
|
IRecordEngineEventHandler 回调接口类用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。
接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如开启音频或视频等),否则可能影响 SDK 的运行。
◆ audioFrameMixed()
virtual void nerecord::IRecordEngineEventHandler::audioFrameMixed |
( |
const NERtcAudioFrame * | frame | ) |
|
|
inlinevirtual |
每当频道内音频混音完成后,会触发该回调
- Parameters
-
frame | 混合后的音频数据,格式为 PCM。请参考 NERtcAudioFrame。 |
◆ audioFrameReceived()
virtual void nerecord::IRecordEngineEventHandler::audioFrameReceived |
( |
uid_t | uid, |
|
|
const NERtcAudioFrame * | frame ) |
|
inlinevirtual |
当收到原始音频数据时,会触发该回调
- Parameters
-
uid | 远端用户 ID。 |
frame | 收到的原始音频数据,格式为 PCM。请参考 NERtcAudioFrame。 |
◆ onActiveSpeaker()
virtual void nerecord::IRecordEngineEventHandler::onActiveSpeaker |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
检测到活跃用户回调。
该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启; 开启后,如果 SDK 检测到活跃的用户则触发该回调。
- Parameters
-
◆ onConnectInterrupted()
virtual void nerecord::IRecordEngineEventHandler::onConnectInterrupted |
( |
| ) |
|
|
inlinevirtual |
◆ onConnectionStateChanged()
连接状态改变回调。
网络连接状态发生改变时触发此回调方法。
- Parameters
-
connection_state | 改变后的网络状态。 |
reason | 触发原因。 |
◆ onDisconnect()
virtual void nerecord::IRecordEngineEventHandler::onDisconnect |
( |
NERtcErrorCode | reason | ) |
|
|
inlinevirtual |
掉线回调。
由于非网络原因,客户端可能会和服务器失去连接,此时 SDK 无需自动重连,直接触发此回调方法。
- Parameters
-
◆ onError()
virtual void nerecord::IRecordEngineEventHandler::onError |
( |
int | error_code, |
|
|
const char * | msg ) |
|
inlinevirtual |
发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。
- Parameters
-
◆ onFirstAudioDataReceived()
virtual void nerecord::IRecordEngineEventHandler::onFirstAudioDataReceived |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onFirstAudioFrameDecoded()
virtual void nerecord::IRecordEngineEventHandler::onFirstAudioFrameDecoded |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onFirstVideoDataReceived()
virtual void nerecord::IRecordEngineEventHandler::onFirstVideoDataReceived |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
已显示首帧远端视频回调。
第一帧远端视频显示在视图上时,触发此调用。
- Parameters
-
◆ onFirstVideoFrameDecoded()
virtual void nerecord::IRecordEngineEventHandler::onFirstVideoFrameDecoded |
( |
uid_t | uid, |
|
|
uint32_t | width, |
|
|
uint32_t | height ) |
|
inlinevirtual |
已接收到远端视频并完成解码回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。App 可在此回调中设置该用户的 video canvas。
- Parameters
-
uid | 用户 ID,指定是哪个用户的视频流。 |
width | 视频流宽(px)。 |
height | 视频流高(px)。 |
◆ onJoinChannel()
加入频道回调。
- Parameters
-
cid | 频道 ID。 |
uid | 用户 ID。 |
result | 返回结果。 |
elapsed | 从 joinChannel 开始到发生此事件过去的时间(毫秒)。 |
◆ onLeaveChannel()
virtual void nerecord::IRecordEngineEventHandler::onLeaveChannel |
( |
NERtcErrorCode | result | ) |
|
|
inlinevirtual |
离开频道回调。
App 调用 leaveChannel 方法时,SDK 提示 App 离开频道是否成功。
- Parameters
-
◆ onLocalAudioStats()
virtual void nerecord::IRecordEngineEventHandler::onLocalAudioStats |
( |
const NERtcAudioSendStats * | stats | ) |
|
|
inlinevirtual |
本地音频流统计信息回调。
该回调描述本地设备发送音频流的统计信息,每 2 秒触发一次。
- Parameters
-
◆ onLocalVideoStats()
virtual void nerecord::IRecordEngineEventHandler::onLocalVideoStats |
( |
const NERtcVideoSendStats * | stats | ) |
|
|
inlinevirtual |
本地视频流统计信息回调。
该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。
- Parameters
-
◆ onMixingLayoutChanged()
virtual void nerecord::IRecordEngineEventHandler::onMixingLayoutChanged |
( |
uint32_t | regionCount, |
|
|
const NERtcRegion * | regions ) |
|
inlinevirtual |
录制布局改变回调。
混合录制布局发生改变(不论是主动调用 setVideoMixingLayout 还是内置自适应布局)时触发此回调方法。
- Parameters
-
regionCount | 布局子窗口数。 |
regions | 子窗口。 |
◆ onRecordStats()
virtual void nerecord::IRecordEngineEventHandler::onRecordStats |
( |
const NERtcStats * | stats | ) |
|
|
inlinevirtual |
当前录制统计回调。
SDK 定期向 App 报告当前录制的统计信息,每 2 秒触发一次。
系统相关统计信息暂时不支持, 敬请期待。
- Parameters
-
◆ onRejoinChannel()
重新加入频道回调。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连后触发此回调方法。
- Parameters
-
cid | 频道 ID。 |
uid | 用户 ID。 |
result | 返回结果。 |
elapsed | 从开始重连到发生此事件过去的时间(毫秒)。 |
◆ onRemoteAudioStats()
virtual void nerecord::IRecordEngineEventHandler::onRemoteAudioStats |
( |
const NERtcAudioRecvStats * | stats, |
|
|
unsigned int | user_count ) |
|
inlinevirtual |
通话中远端音频流的统计信息回调。
该回调描述远端用户在通话中端到端的音频流统计信息,每 2 秒触发一次。
- Parameters
-
◆ onRemoteAudioVolumeIndication()
virtual void nerecord::IRecordEngineEventHandler::onRemoteAudioVolumeIndication |
( |
const NERtcAudioVolumeInfo * | speakers, |
|
|
unsigned int | speaker_number, |
|
|
int | total_volume ) |
|
inlinevirtual |
提示频道内谁正在说话及说话者瞬时音量的回调。
该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启; 开启后,无论频道内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的 speakers 数组中:
- 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
- 如果 volume 为 0,表示该用户没有说话。
- 如果 speakers 数组为空,则表示此时远端没有人说话。
- Parameters
-
speakers | 每个说话者的用户 ID 和音量信息的数组: NERtcAudioVolumeInfo |
speaker_number | speakers 数组的大小,即说话者的人数。 |
total_volume | (混音后的)总音量,取值范围为 [0,100]。 |
◆ onRemoteVideoStats()
virtual void nerecord::IRecordEngineEventHandler::onRemoteVideoStats |
( |
const NERtcVideoRecvStats * | stats, |
|
|
unsigned int | user_count ) |
|
inlinevirtual |
通话中远端视频流的统计信息回调。
该回调描述远端用户在通话中端到端的视频流统计信息,每 2 秒触发一次。
- Parameters
-
◆ onUserAudioMute()
virtual void nerecord::IRecordEngineEventHandler::onUserAudioMute |
( |
uid_t | uid, |
|
|
bool | mute ) |
|
inlinevirtual |
◆ onUserAudioStart()
virtual void nerecord::IRecordEngineEventHandler::onUserAudioStart |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onUserAudioStop()
virtual void nerecord::IRecordEngineEventHandler::onUserAudioStop |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onUserJoined()
virtual void nerecord::IRecordEngineEventHandler::onUserJoined |
( |
uid_t | uid, |
|
|
const char * | user_name ) |
|
inlinevirtual |
远端用户加入当前频道回调。
- 通信模式下,该回调提示有远端用户加入了频道,并返回新加入用户的 ID;如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
- Parameters
-
uid | 新加入频道的远端用户 ID。 |
user_name | 新加入频道的远端用户名。 |
◆ onUserLeft()
远端用户离开当前频道回调。
提示有远端用户离开了频道(或掉线)。
- Parameters
-
uid | 远端用户 ID。 |
reason | 远端用户离开原因。 |
◆ onUserSubStreamVideoStart()
远端用户开启辅流视频回调。
- Parameters
-
uid | 远端用户 ID。 |
max_profile | 最大分辨率。 |
◆ onUserSubStreamVideoStop()
virtual void nerecord::IRecordEngineEventHandler::onUserSubStreamVideoStop |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onUserVideoMute()
virtual void nerecord::IRecordEngineEventHandler::onUserVideoMute |
( |
uid_t | uid, |
|
|
bool | mute ) |
|
inlinevirtual |
远端用户是否禁视频流回调。
- Parameters
-
uid | 远端用户 ID。 |
mute | 是否禁视频流回调。 |
◆ onUserVideoStart()
远端用户开启视频回调。
- Parameters
-
uid | 远端用户 ID。 |
max_profile | 远端用户支持的最高视频编码质量。 |
◆ onUserVideoStop()
virtual void nerecord::IRecordEngineEventHandler::onUserVideoStop |
( |
uid_t | uid | ) |
|
|
inlinevirtual |
◆ onWarning()
virtual void nerecord::IRecordEngineEventHandler::onWarning |
( |
int | warn_code, |
|
|
const char * | msg ) |
|
inlinevirtual |
发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。
- Parameters
-
◆ videoFrameReceived()
virtual void nerecord::IRecordEngineEventHandler::videoFrameReceived |
( |
uid_t | uid, |
|
|
const NERtcVideoFrame * | frame ) |
|
inlinevirtual |
当收到原始视频数据时,会触发该回调
- Parameters
-
uid | 远端用户 ID。 |
frame | 收到的原始视频数据。请参考 NERtcVideoFrame。 |
◆ videoSubstreamFrameReceived()
virtual void nerecord::IRecordEngineEventHandler::videoSubstreamFrameReceived |
( |
uid_t | uid, |
|
|
const NERtcVideoFrame * | frame ) |
|
inlinevirtual |
当收到辅流原始视频数据时,会触发该回调
- Parameters
-
uid | 远端用户 ID。 |
frame | 收到的辅流原始视频数据。请参考 NERtcVideoFrame。 |
The documentation for this class was generated from the following file: