NERtc Wwise SDK 适配 Unreal V.5.4.122
载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
nertc::wwiseplugin::IRtcCallback类 参考

#include <IRtcCallback.h>

类 nertc::wwiseplugin::IRtcCallback 继承关系图:
nertc::wwiseplugin::NertcEngineImpl

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 回调事件的相关接口。

构造及析构函数说明

◆ ~IRtcCallback()

virtual nertc::wwiseplugin::IRtcCallback::~IRtcCallback ( )
virtualdefault

成员函数说明

◆ OnError()

virtual void nertc::wwiseplugin::IRtcCallback::OnError ( const char * channelName,
int errorCode,
const char * msg )
inlinevirtual

发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK上报的错误意味着SDK无法自动恢复,需要 App 干预或提示用户。

参数
channelName房间号。如果channelName为空,则为默认房间。
errorCode错误码。详细信息请参考 RtcErrorCode
msg错误描述。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnWarning()

virtual void nertc::wwiseplugin::IRtcCallback::OnWarning ( const char * channelName,
int warnCode,
const char * msg )
inlinevirtual

发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。

参数
channelName房间号。如果channelName为空,则为默认房间。
warnCode警告码。详细信息请参考 RtcWarnCode
msg警告描述。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnJoinChannel()

virtual void nertc::wwiseplugin::IRtcCallback::OnJoinChannel ( const char * channelName,
uint64_t cid,
uint64_t uid,
RtcErrorCode result,
uint64_t elapsed )
inlinevirtual

加入房间回调,表示客户端已经登入服务器。

参数
channelName房间号。如果channelName为空,则为默认房间。
cid客户端加入的房间 ID。
uid用户 ID。 如果在 joinChannel 方法中指定了 uid,此处会返回指定的 ID; 如果未指定 uid,此处将返回云信服务器自动分配的 ID。
result返回结果。
elapsed从 joinChannel 开始到发生此事件过去的时间,单位为毫秒。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnLeaveChannel()

virtual void nertc::wwiseplugin::IRtcCallback::OnLeaveChannel ( const char * channelName,
RtcErrorCode result,
uint64_t channelId )
inlinevirtual

退出房间回调。
App 调用 leaveChannel 方法后,SDK 提示 App 退出房间是否成功。

参数
channelName房间号。如果channelName为空,则为默认房间。
result返回结果。
channelId离开的channel的ID。如果channelName不为空,则cid为0。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnClientRoleChanged()

virtual void nertc::wwiseplugin::IRtcCallback::OnClientRoleChanged ( const char * channelName,
RtcClientRole oldRole,
RtcClientRole newRole )
inlinevirtual

直播场景下用户角色已切换回调。
本地用户加入房间后,通过 setClientRole 切换用户角色后会触发此回调。例如主播切换为观众、从观众切换为主播。

注解
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
  • 主播切观众,本端触发onClientRoleChanged回调,远端触发onUserLeft回调。
  • 观众切主播,本端触发onClientRoleChanged回调,远端触发onUserJoined回调。
参数
channelName房间号。如果channelName为空,则为默认房间。
oldRole切换前的角色。
newRole切换后的角色。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnConnectionStateChanged()

virtual void nertc::wwiseplugin::IRtcCallback::OnConnectionStateChanged ( const char * channelName,
int state,
int reason )
inlinevirtual

网络连接状态已改变回调。
该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

参数
channelName房间号。如果channelName为空,则为默认房间。
state当前的网络连接状态。
reason引起当前网络连接状态发生改变的原因。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnDisconnect()

virtual void nertc::wwiseplugin::IRtcCallback::OnDisconnect ( const char * channelName,
int reason )
inlinevirtual

网络连接中断

注解
  • SDK 在调用 joinChannel 加入房间成功后,如果和服务器失去连接且连续 3 次重连失败,就会触发该回调。
  • 由于非网络原因,客户端可能会和服务器失去连接,此时SDK无需自动重连,直接触发此回调方法。
参数
channelName房间号。如果channelName为空,则为默认房间。
reason网络连接中断原因。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnNetworkTypeChanged()

virtual void nertc::wwiseplugin::IRtcCallback::OnNetworkTypeChanged ( int newType)
inlinevirtual

网络类型已经改变的回调。
该回调在网络发生改变的时候触发,并告知用户当前的网络类型。

参数
newType当前的网络类型。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnReconnectingStart()

virtual void nertc::wwiseplugin::IRtcCallback::OnReconnectingStart ( const char * channelName,
uint64_t cid,
uint64_t uid )
inlinevirtual

触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK会进行自动重连,开始自动重连后触发此回调。

参数
channelName房间号。如果channelName为空,则为默认房间。
cid房间 ID。
uid用户 ID。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnRejoinChannel()

virtual void nertc::wwiseplugin::IRtcCallback::OnRejoinChannel ( const char * channelName,
uint64_t cid,
uint64_t uid,
RtcErrorCode result,
uint64_t elapsed )
inlinevirtual

重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK会自动重连。自动重连成功后触发此回调方法。

参数
channelName房间号。如果channelName为空,则为默认房间。
cid客户端加入的房间 ID。
uid用户 ID。
result返回结果。
elapsed从开始重连到发生此事件过去的时间,单位为毫秒。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnUserJoined()

virtual void nertc::wwiseplugin::IRtcCallback::OnUserJoined ( const char * channelName,
uint64_t uid,
const char * userName )
inlinevirtual

远端用户加入当前房间回调。
该回调提示有远端用户加入了房间,并返回新加入用户的 ID;如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。

参数
channelName房间号。如果channelName为空,则为默认房间。
uid新加入房间的远端用户 ID。
userName新加入房间的远端用户名。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnUserLeft()

virtual void nertc::wwiseplugin::IRtcCallback::OnUserLeft ( const char * channelName,
uint64_t uid,
int reason )
inlinevirtual

远端用户离开当前房间的回调。
提示有远端用户离开了房间(或掉线)。通常情况下,用户离开房间有两个原因,即正常离开和超时掉线:

  • 正常离开的时候,远端用户会收到正常离开房间的回调提醒,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。
    参数
    channelName房间号。如果channelName为空,则为默认房间。
    uid离开房间的远端用户 ID。
    reason远端用户离开原因。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnUserAudioStart()

virtual void nertc::wwiseplugin::IRtcCallback::OnUserAudioStart ( const char * channelName,
int streamType,
uint64_t uid )
inlinevirtual

远端用户开启音频的回调。

参数
channelName房间号。如果channelName为空,则为默认房间。
streamType远端用户流类型。
uid远端用户ID。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnUserAudioStop()

virtual void nertc::wwiseplugin::IRtcCallback::OnUserAudioStop ( const char * channelName,
int streamType,
uint64_t uid )
inlinevirtual

远端用户停用音频的回调。

参数
channelName房间号。如果channelName为空,则为默认房间。
streamType远端用户流类型。
uid远端用户ID。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnUserAudioMute()

virtual void nertc::wwiseplugin::IRtcCallback::OnUserAudioMute ( const char * channelName,
int streamType,
uint64_t uid,
bool enable )
inlinevirtual

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

参数
channelName房间号。如果channelName为空,则为默认房间。
streamType音频流类型。
uid远端用户ID。
enable是否静音。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnAudioDeviceRoutingDidChange()

virtual void nertc::wwiseplugin::IRtcCallback::OnAudioDeviceRoutingDidChange ( int routing)
inlinevirtual

音频路由变化回调。

参数
routing当前音频输出路由。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnAudioDeviceStateChanged()

virtual void nertc::wwiseplugin::IRtcCallback::OnAudioDeviceStateChanged ( const char * deviceID,
int deviceType,
int deviceState )
inlinevirtual

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

参数
deviceID设备ID。
deviceType音频设备类型。详细信息请参考 nertc_audio_deviceType_t。
deviceState音频设备状态。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnAudioDefaultDeviceChanged()

virtual void nertc::wwiseplugin::IRtcCallback::OnAudioDefaultDeviceChanged ( const char * deviceID,
int deviceType )
inlinevirtual

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

参数
deviceID设备ID。
deviceType音频设备类型。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnFirstAudioDataReceived()

virtual void nertc::wwiseplugin::IRtcCallback::OnFirstAudioDataReceived ( const char * channelName,
int streamType,
uint64_t uid )
inlinevirtual

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

参数
channelName房间号。如果channelName为空,则为默认房间。
streamType音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnFirstAudioFrameDecoded()

virtual void nertc::wwiseplugin::IRtcCallback::OnFirstAudioFrameDecoded ( const char * channelName,
int streamType,
uint64_t uid )
inlinevirtual

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

参数
channelName房间号。如果channelName为空,则为默认房间。
streamType音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnLocalAudioVolumeIndication()

virtual void nertc::wwiseplugin::IRtcCallback::OnLocalAudioVolumeIndication ( const char * channelName,
int volume,
bool enableVad )
inlinevirtual

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

  • 该回调默认禁用。可以通过 enableAudioVolumeIndication 方法开启。
  • 开启后,本地用户说话,SDK 会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
  • 如果本地用户将自己静音(调用了 muteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。
    参数
    channelName房间号。如果channelName为空,则为默认房间。
    volume(混音后的)音量,取值范围为 [0,100]。
    enableVad是否检测到人声。

nertc::wwiseplugin::NertcEngineImpl 重载.

◆ OnRemoteAudioVolumeIndication()

virtual void nertc::wwiseplugin::IRtcCallback::OnRemoteAudioVolumeIndication ( const char * channelName,
RtcAudioVolumeInfo * speakers,
int speakerNumber,
int totalVolume )
inlinevirtual

提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 enableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按 enableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的 speakers 数组中:

  • 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
  • 如果volume 为 0,表示该用户没有说话。
    • 如果speakers 数组为空,则表示此时远端没有人说话。
      参数
      channelName房间号。如果channelName为空,则为默认房间。
      speakers每个说话者的用户 ID 和音量信息的数组: nertc_audio_volume_info
      speakerNumberspeakers 数组的大小,即说话者的人数。
      totalVolume(混音后的)总音量,取值范围为 [0,100]。

nertc::wwiseplugin::NertcEngineImpl 重载.


该类的文档由以下文件生成: