NERtc Wwise SDK 适配 Unreal V.5.4.122
|
#include <IRtcCallback.h>
Public 成员函数 | |
virtual | ~IRtcCallback ()=default |
virtual void | OnError (const char *channelName, int errorCode, const char *msg) |
virtual void | OnWarning (const char *channelName, int warnCode, const char *msg) |
virtual void | OnJoinChannel (const char *channelName, uint64_t cid, uint64_t uid, RtcErrorCode result, uint64_t elapsed) |
virtual void | OnLeaveChannel (const char *channelName, RtcErrorCode result, uint64_t channelId) |
virtual void | OnClientRoleChanged (const char *channelName, RtcClientRole oldRole, RtcClientRole newRole) |
virtual void | OnConnectionStateChanged (const char *channelName, int state, int reason) |
virtual void | OnDisconnect (const char *channelName, int reason) |
virtual void | OnNetworkTypeChanged (int newType) |
virtual void | OnReconnectingStart (const char *channelName, uint64_t cid, uint64_t uid) |
virtual void | OnRejoinChannel (const char *channelName, uint64_t cid, uint64_t uid, RtcErrorCode result, uint64_t elapsed) |
virtual void | OnUserJoined (const char *channelName, uint64_t uid, const char *userName) |
virtual void | OnUserLeft (const char *channelName, uint64_t uid, int reason) |
virtual void | OnUserAudioStart (const char *channelName, int streamType, uint64_t uid) |
virtual void | OnUserAudioStop (const char *channelName, int streamType, uint64_t uid) |
virtual void | OnUserAudioMute (const char *channelName, int streamType, uint64_t uid, bool enable) |
virtual void | OnAudioDeviceRoutingDidChange (int routing) |
virtual void | OnAudioDeviceStateChanged (const char *deviceID, int deviceType, int deviceState) |
virtual void | OnAudioDefaultDeviceChanged (const char *deviceID, int deviceType) |
virtual void | OnFirstAudioDataReceived (const char *channelName, int streamType, uint64_t uid) |
virtual void | OnFirstAudioFrameDecoded (const char *channelName, int streamType, uint64_t uid) |
virtual void | OnLocalAudioVolumeIndication (const char *channelName, int volume, bool enableVad) |
virtual void | OnRemoteAudioVolumeIndication (const char *channelName, RtcAudioVolumeInfo *speakers, int speakerNumber, int totalVolume) |
事件回调。
IRtcCallback 接口类提供用于接收 SDK 回调事件的相关接口。
|
virtualdefault |
|
inlinevirtual |
发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK上报的错误意味着SDK无法自动恢复,需要 App 干预或提示用户。
channelName | 房间号。如果channelName为空,则为默认房间。 |
errorCode | 错误码。详细信息请参考 RtcErrorCode |
msg | 错误描述。 |
|
inlinevirtual |
发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。
channelName | 房间号。如果channelName为空,则为默认房间。 |
warnCode | 警告码。详细信息请参考 RtcWarnCode 。 |
msg | 警告描述。 |
|
inlinevirtual |
加入房间回调,表示客户端已经登入服务器。
channelName | 房间号。如果channelName为空,则为默认房间。 |
cid | 客户端加入的房间 ID。 |
uid | 用户 ID。 如果在 joinChannel 方法中指定了 uid,此处会返回指定的 ID; 如果未指定 uid,此处将返回云信服务器自动分配的 ID。 |
result | 返回结果。 |
elapsed | 从 joinChannel 开始到发生此事件过去的时间,单位为毫秒。 |
|
inlinevirtual |
退出房间回调。
App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。
channelName | 房间号。如果channelName为空,则为默认房间。 |
result | 返回结果。 |
channelId | 离开的channel的ID。如果channelName不为空,则cid为0。 |
|
inlinevirtual |
直播场景下用户角色已切换回调。
本地用户加入房间后,通过 setClientRole 切换用户角色后会触发此回调。例如主播切换为观众、从观众切换为主播。
channelName | 房间号。如果channelName为空,则为默认房间。 |
oldRole | 切换前的角色。 |
newRole | 切换后的角色。 |
|
inlinevirtual |
网络连接状态已改变回调。
该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。
channelName | 房间号。如果channelName为空,则为默认房间。 |
state | 当前的网络连接状态。 |
reason | 引起当前网络连接状态发生改变的原因。 |
|
inlinevirtual |
网络连接中断
channelName | 房间号。如果channelName为空,则为默认房间。 |
reason | 网络连接中断原因。 |
|
inlinevirtual |
网络类型已经改变的回调。
该回调在网络发生改变的时候触发,并告知用户当前的网络类型。
newType | 当前的网络类型。 |
|
inlinevirtual |
触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,开始自动重连后触发此回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
cid | 房间 ID。 |
uid | 用户 ID。 |
|
inlinevirtual |
重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。
channelName | 房间号。如果channelName为空,则为默认房间。 |
cid | 客户端加入的房间 ID。 |
uid | 用户 ID。 |
result | 返回结果。 |
elapsed | 从开始重连到发生此事件过去的时间,单位为毫秒。 |
|
inlinevirtual |
远端用户加入当前房间回调。
该回调提示有远端用户加入了房间,并返回新加入用户的 ID;如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
uid | 新加入房间的远端用户 ID。 |
userName | 新加入房间的远端用户名。 |
|
inlinevirtual |
远端用户离开当前房间的回调。
提示有远端用户离开了房间(或掉线)。通常情况下,用户离开房间有两个原因,即正常离开和超时掉线:
channelName | 房间号。如果channelName为空,则为默认房间。 |
uid | 离开房间的远端用户 ID。 |
reason | 远端用户离开原因。 |
|
inlinevirtual |
远端用户开启音频的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
streamType | 远端用户流类型。 |
uid | 远端用户ID。 |
|
inlinevirtual |
远端用户停用音频的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
streamType | 远端用户流类型。 |
uid | 远端用户ID。 |
|
inlinevirtual |
远端用户是否静音的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
streamType | 音频流类型。 |
uid | 远端用户ID。 |
enable | 是否静音。 |
|
inlinevirtual |
|
inlinevirtual |
音频设备状态更改的回调。
deviceID | 设备ID。 |
deviceType | 音频设备类型。详细信息请参考 nertc_audio_deviceType_t。 |
deviceState | 音频设备状态。 |
|
inlinevirtual |
|
inlinevirtual |
已接收到远端音频首帧的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
streamType | 音频流类型。 |
uid | 远端用户 ID,指定是哪个用户的音频流。 |
|
inlinevirtual |
已解码远端音频首帧的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
streamType | 音频流类型。 |
uid | 远端用户 ID,指定是哪个用户的音频流。 |
|
inlinevirtual |
提示房间内本地用户瞬时音量的回调。
channelName | 房间号。如果channelName为空,则为默认房间。 |
volume | (混音后的)音量,取值范围为 [0,100]。 |
enableVad | 是否检测到人声。 |
|
inlinevirtual |
提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的 speakers 数组中:
channelName | 房间号。如果channelName为空,则为默认房间。 |
speakers | 每个说话者的用户 ID 和音量信息的数组: nertc_audio_volume_info |
speakerNumber | speakers 数组的大小,即说话者的人数。 |
totalVolume | (混音后的)总音量,取值范围为 [0,100]。 |