NERtc Windows SDK
Public Member Functions | List of all members
nertc::IRtcEngineEventHandlerEx Class Reference

#include <nertc_engine_event_handler_ex.h>

Inheritance diagram for nertc::IRtcEngineEventHandlerEx:
nertc::IRtcEngineEventHandler

Public Member Functions

virtual void onUserSubStreamVideoStart (uid_t uid, NERtcVideoProfileType max_profile)
 
virtual void onUserSubStreamVideoStop (uid_t uid)
 
virtual void onUserVideoProfileUpdate (uid_t uid, NERtcVideoProfileType max_profile)
 
virtual void onUserAudioMute (uid_t uid, bool mute)
 
virtual void onUserVideoMute (uid_t uid, bool mute)
 
virtual void onAudioDeviceStateChanged (const char device_id[kNERtcMaxDeviceIDLength], NERtcAudioDeviceType device_type, NERtcAudioDeviceState device_state)
 
virtual void onAudioDefaultDeviceChanged (const char device_id[kNERtcMaxDeviceIDLength], NERtcAudioDeviceType device_type)
 
virtual void onVideoDeviceStateChanged (const char device_id[kNERtcMaxDeviceIDLength], NERtcVideoDeviceType device_type, NERtcVideoDeviceState device_state)
 
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 onCaptureVideoFrame (void *data, NERtcVideoType type, uint32_t width, uint32_t height, uint32_t count, uint32_t offset[kNERtcMaxPlaneCount], uint32_t stride[kNERtcMaxPlaneCount], NERtcVideoRotation rotation)
 
virtual void onAudioMixingStateChanged (NERtcAudioMixingState state, NERtcAudioMixingErrorCode error_code)
 
virtual void onAudioMixingTimestampUpdate (uint64_t timestamp_ms)
 
virtual void onAudioEffectFinished (uint32_t effect_id)
 
virtual void onLocalAudioVolumeIndication (int volume)
 
virtual void onRemoteAudioVolumeIndication (const NERtcAudioVolumeInfo *speakers, unsigned int speaker_number, int total_volume)
 
virtual void onAddLiveStreamTask (const char *task_id, const char *url, int error_code)
 
virtual void onUpdateLiveStreamTask (const char *task_id, const char *url, int error_code)
 
virtual void onRemoveLiveStreamTask (const char *task_id, int error_code)
 
virtual void onLiveStreamState (const char *task_id, const char *url, NERtcLiveStreamStateCode state)
 
virtual void onAudioHowling (bool howling)
 
virtual void onRecvSEIMsg (uid_t uid, const char *data, uint32_t dataSize)
 
- Public Member Functions inherited from nertc::IRtcEngineEventHandler
virtual void onError (int error_code, const char *msg)
 
virtual void onWarning (int warn_code, const char *msg)
 
virtual void onReleasedHwResources (NERtcErrorCode result)
 
virtual void onJoinChannel (channel_id_t cid, uid_t uid, NERtcErrorCode result, uint64_t elapsed)
 
virtual void onReconnectingStart (channel_id_t cid, uid_t uid)
 
virtual void onConnectionStateChange (NERtcConnectionStateType state, NERtcReasonConnectionChangedType reason)
 
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 onClientRoleChanged (NERtcClientRole oldRole, NERtcClientRole newRole)
 
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 onUserVideoStart (uid_t uid, NERtcVideoProfileType max_profile)
 
virtual void onUserVideoStop (uid_t uid)
 

Detailed Description

IRtcEngineEventHandlerEx 回调扩展接口类用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。

接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如开启音频或视频等),否则可能影响 SDK 的运行。

Member Function Documentation

virtual void nertc::IRtcEngineEventHandlerEx::onAddLiveStreamTask ( const char *  task_id,
const char *  url,
int  error_code 
)
inlinevirtual

通知添加直播任务结果。

该回调异步返回 addLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState

Parameters
task_id任务id
url推流地址
error_code结果
  • 0: 调用成功;
  • 其他: 调用失败。
virtual void nertc::IRtcEngineEventHandlerEx::onAudioDefaultDeviceChanged ( const char  device_id[kNERtcMaxDeviceIDLength],
NERtcAudioDeviceType  device_type 
)
inlinevirtual

音频默认设备更改的回调。

Parameters
device_id设备ID。
device_type音频设备类型。
virtual void nertc::IRtcEngineEventHandlerEx::onAudioDeviceStateChanged ( const char  device_id[kNERtcMaxDeviceIDLength],
NERtcAudioDeviceType  device_type,
NERtcAudioDeviceState  device_state 
)
inlinevirtual

音频设备状态更改的回调。

Parameters
device_id设备ID。
device_type音频设备类型。详细信息请参考 NERtcAudioDeviceType。
device_state音频设备状态。
virtual void nertc::IRtcEngineEventHandlerEx::onAudioEffectFinished ( uint32_t  effect_id)
inlinevirtual

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

当播放音效结束后,会触发该回调。

Parameters
effect_id指定音效的 ID。每个音效均有唯一的 ID。
virtual void nertc::IRtcEngineEventHandlerEx::onAudioHowling ( bool  howling)
inlinevirtual

检测到啸叫回调。

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

Note
啸叫检测功能一般用于语音聊天室或在线会议等纯人声环境,不推荐在包含背景音乐的娱乐场景中使用。
Parameters
howling是否出现啸叫
  • true: 啸叫;
  • false: 正常;。
virtual void nertc::IRtcEngineEventHandlerEx::onAudioMixingStateChanged ( NERtcAudioMixingState  state,
NERtcAudioMixingErrorCode  error_code 
)
inlinevirtual

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

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

  • 如果播放音乐文件正常结束,state 会返回相应的状态码 kNERtcAudioMixingStateFinished,error_code 返回 kNERtcAudioMixingErrorOK。
  • 如果播放出错,则返回状态码 kNERtcAudioMixingStateFailed,error_code 返回相应的出错原因。
  • 如果本地音乐文件不存在、文件格式不支持、无法访问在线音乐文件 URL,error_code都会返回 kNERtcAudioMixingErrorCanNotOpen。
Parameters
state音乐文件播放状态,详见 NERtcAudioMixingState.
error_code错误码,详见 NERtcAudioMixingErrorCode.
virtual void nertc::IRtcEngineEventHandlerEx::onAudioMixingTimestampUpdate ( uint64_t  timestamp_ms)
inlinevirtual

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

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

Parameters
timestamp_ms音乐文件播放进度,单位为毫秒
virtual void nertc::IRtcEngineEventHandlerEx::onCaptureVideoFrame ( void *  data,
NERtcVideoType  type,
uint32_t  width,
uint32_t  height,
uint32_t  count,
uint32_t  offset[kNERtcMaxPlaneCount],
uint32_t  stride[kNERtcMaxPlaneCount],
NERtcVideoRotation  rotation 
)
inlinevirtual

采集视频数据回调。

Parameters
data采集视频数据。
type视频类型。
width视频宽度。
height视频高度。
count视频Plane Count。
offset视频offset。
stride视频stride。
rotation视频旋转角度。
virtual void nertc::IRtcEngineEventHandlerEx::onFirstAudioDataReceived ( uid_t  uid)
inlinevirtual

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

Parameters
uid远端用户 ID,指定是哪个用户的音频流。
virtual void nertc::IRtcEngineEventHandlerEx::onFirstAudioFrameDecoded ( uid_t  uid)
inlinevirtual

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

Parameters
uid远端用户 ID,指定是哪个用户的音频流。
virtual void nertc::IRtcEngineEventHandlerEx::onFirstVideoDataReceived ( uid_t  uid)
inlinevirtual

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

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

Parameters
uid用户 ID,指定是哪个用户的视频流。
virtual void nertc::IRtcEngineEventHandlerEx::onFirstVideoFrameDecoded ( uid_t  uid,
uint32_t  width,
uint32_t  height 
)
inlinevirtual

已接收到远端视频并完成解码的回调。

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

Parameters
uid用户 ID,指定是哪个用户的视频流。
width视频流宽(px)。
height视频流高(px)。
virtual void nertc::IRtcEngineEventHandlerEx::onLiveStreamState ( const char *  task_id,
const char *  url,
NERtcLiveStreamStateCode  state 
)
inlinevirtual

通知直播推流状态

Note
该回调在通话中有效。
Parameters
task_id任务id
url推流地址
stateNERtcLiveStreamStateCode, 直播推流状态
  • 505: 推流中;
  • 506: 推流失败;
  • 511: 推流结束;
virtual void nertc::IRtcEngineEventHandlerEx::onLocalAudioVolumeIndication ( int  volume)
inlinevirtual

提示频道内本地用户瞬时音量的回调。

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

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

如果本地用户将自己静音(调用了 muteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。

Parameters
volume(混音后的)音量,取值范围为 [0,100]。
virtual void nertc::IRtcEngineEventHandlerEx::onRecvSEIMsg ( uid_t  uid,
const char *  data,
uint32_t  dataSize 
)
inlinevirtual

收到远端流的 SEI 内容回调。

当远端成功发送 SEI 后,本端会收到此回调。

Parameters
[in]uid发送该 sei 的用户 id
[in]data接收到的 sei 数据
[in]dataSize接收到 sei 数据的大小
virtual void nertc::IRtcEngineEventHandlerEx::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_numberspeakers 数组的大小,即说话者的人数。
total_volume(混音后的)总音量,取值范围为 [0,100]。
virtual void nertc::IRtcEngineEventHandlerEx::onRemoveLiveStreamTask ( const char *  task_id,
int  error_code 
)
inlinevirtual

通知删除直播任务结果。

该回调异步返回 removeLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState

Parameters
task_id任务id
error_code结果
  • 0: 调用成功;
  • 其他: 调用失败。
virtual void nertc::IRtcEngineEventHandlerEx::onUpdateLiveStreamTask ( const char *  task_id,
const char *  url,
int  error_code 
)
inlinevirtual

通知更新直播任务结果。

该回调异步返回 updateLiveStreamTask 接口的调用结果;实际推流状态参考 onLiveStreamState

Parameters
task_id任务id
url推流地址
error_code结果
  • 0: 调用成功;
  • 其他: 调用失败。
virtual void nertc::IRtcEngineEventHandlerEx::onUserAudioMute ( uid_t  uid,
bool  mute 
)
inlinevirtual

远端用户是否静音的回调。

Parameters
uid远端用户ID。
mute是否静音。
virtual void nertc::IRtcEngineEventHandlerEx::onUserSubStreamVideoStart ( uid_t  uid,
NERtcVideoProfileType  max_profile 
)
inlinevirtual

远端用户开启屏幕共享辅流通道的回调。

Parameters
uid远端用户ID。
max_profile最大分辨率。
virtual void nertc::IRtcEngineEventHandlerEx::onUserSubStreamVideoStop ( uid_t  uid)
inlinevirtual

远端用户停止屏幕共享辅流通道的回调。

Parameters
uid远端用户ID。
virtual void nertc::IRtcEngineEventHandlerEx::onUserVideoMute ( uid_t  uid,
bool  mute 
)
inlinevirtual

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

Parameters
uid远端用户ID。
mute是否禁视频流。
virtual void nertc::IRtcEngineEventHandlerEx::onUserVideoProfileUpdate ( uid_t  uid,
NERtcVideoProfileType  max_profile 
)
inlinevirtual

远端用户视频配置更新的回调。

Parameters
uid远端用户 ID。
max_profile视频编码的分辨率,用于衡量编码质量。
virtual void nertc::IRtcEngineEventHandlerEx::onVideoDeviceStateChanged ( const char  device_id[kNERtcMaxDeviceIDLength],
NERtcVideoDeviceType  device_type,
NERtcVideoDeviceState  device_state 
)
inlinevirtual

视频设备状态已改变的回调。

Parameters
device_id设备ID。
device_type视频设备类型。
device_state视频设备状态。

The documentation for this class was generated from the following file: