通过阅读本文,您可以了解Windows SDK的AliEngineEventListener回调及监听接口详情。
目录
接口详情
- OnJoinChannelResult:加入频道结果的回调。
void OnJoinChannelResult(int result, const char *channel, int elapsed);
参数 类型 描述 result int 加入频道结果,成功返回0,失败返回错误码。 channel const char * 频道ID。 elapsed int 加入频道耗时。 - OnLeaveChannelResult:离开频道结果的回调。调用
leaveChannel
接口后返回,如果leaveChannel
后直接释放SDK,将不会收到此回调。void OnLeaveChannelResult(int result, AliEngineStats stats);
参数 类型 描述 result int 成功返回0,失败返回错误码信息。 stats AliEngineStats 本次频道内会话的数据统计汇总。 - OnRemoteUserOnLineNotify:远端用户上线的回调。
void OnRemoteUserOnLineNotify(const char *uid, int elapsed);
参数 类型 描述 uid const char * 远端用户ID。 elapsed int 用户加入频道时的耗时。 - OnRemoteUserOffLineNotify:远端用户下线的回调。
void OnRemoteUserOffLineNotify(const char *uid, AliEngineUserOfflineReason reason);
参数 类型 描述 uid const char * 远端用户ID。 reason AliEngineUserOfflineReason 用户离线的原因。 - OnAudioPublishStateChanged:音频推流变更的回调。
void OnAudioPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 oldState AliEnginePublishState 之前的推流状态。 newState AliEnginePublishState 当前的推流状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnVideoPublishStateChanged:视频推流变更的回调。
void OnVideoPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 oldState AliEnginePublishState 之前的推流状态。 newState AliEnginePublishState 当前的推流状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnDualStreamPublishStateChanged:次要流推流变更的回调。
void OnDualStreamPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 oldState AliEnginePublishState 之前的推流状态。 newState AliEnginePublishState 当前的推流状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnScreenSharePublishStateChanged:屏幕分享推流变更的回调。
void OnScreenSharePublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 oldState AliEnginePublishState 之前的推流状态。 newState AliEnginePublishState 当前的推流状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnScreenSharePublishStateChangedWithInfo:屏幕分享推流变更的回调(适用于Mac或windows端)。
void OnScreenSharePublishStateChangedWithInfo(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel, AliEngineScreenShareInfo& screenShareInfo);
名称 类型 描述 oldState AliEnginePublishState 之前的推流状态。 newState AliEnginePublishState 当前的推流状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 screenShareInfo AliEngineScreenShareInfo& 本次屏幕共享推流信息。 - OnRemoteTrackAvailableNotify:远端用户音视频流发生变化时的回调。
void OnRemoteTrackAvailableNotify(const char *uid, AliEngineAudioTrack audioTrack, AliEngineVideoTrack videoTrack);
参数 类型 描述 uid const char * 远端用户ID。 audioTrack AliEngineAudioTrack 远端用户发生变化后的音频流。 videoTrack AliEngineVideoTrack 远端用户发生变化后的视频流。 - OnAudioSubscribeStateChanged:音频订阅情况变更的回调。
void OnAudioSubscribeStateChanged(const char *uid, AliEngineSubscribeState oldState, AliEngineSubscribeState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 uid const char * 远端用户ID。 oldState AliEngineSubscribeState 之前的订阅状态。 newState AliEngineSubscribeState 当前的订阅状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnVideoSubscribeStateChanged:相机流订阅情况变更的回调。
void OnVideoSubscribeStateChanged(const char *uid, AliEngineSubscribeState oldState, AliEngineSubscribeState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 uid const char * 远端用户ID。 oldState AliEngineSubscribeState 之前的订阅状态。 newState AliEngineSubscribeState 当前的订阅状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnScreenShareSubscribeStateChanged:屏幕分享流订阅情况变更的回调。
void OnScreenShareSubscribeStateChanged(const char *uid, AliEngineSubscribeState oldState, AliEngineSubscribeState newState, int elapseSinceLastState, const char *channel);
名称 类型 描述 uid const char * 远端用户ID。 oldState AliEngineSubscribeState 之前的订阅状态。 newState AliEngineSubscribeState 当前的订阅状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnSubscribeStreamTypeChanged:大小流订阅情况变更的回调。
virtual void OnSubscribeStreamTypeChanged(const char *uid, AliEngineVideoStreamType oldStreamType, AliEngineVideoStreamType newStreamType, int elapseSinceLastState, const char *channel);
名称 类型 描述 uid const char * 远端用户ID。 oldStreamType AliEngineVideoStreamType 之前的订阅状态。 newStreamType AliEngineVideoStreamType 当前的订阅状态。 elapseSinceLastState int 状态变更时间间隔。 channel const char * 当前频道ID。 - OnFirstRemoteVideoFrameDrawn:远端视频流首帧渲染完时的回调。
void OnFirstRemoteVideoFrameDrawn(const char *uid, AliEngineVideoTrack videoTrack, int width, int height, int elapsed);
参数 类型 描述 uid const char * 远端用户ID。 videoTrack AliEngineVideoTrack 渲染的流类型。 width int 视频宽度。 height int 视频高度。 elapsed int 总耗时。 - OnFirstLocalVideoFrameDrawn:预览开始显示第一帧视频帧时的回调。
void OnFirstLocalVideoFrameDrawn(int width, int height, int elapsed);
参数 类型 描述 width int 视频宽度。 height int 视频高度。 elapsed int 总耗时。 - OnFirstAudioPacketSend:音频首包发送的回调。
void OnFirstAudioPacketSend(int timeCost);
名称 类型 描述 timeCost int 耗时。 - OnFirstAudioPacketReceived:音频首包接收的回调。
void OnFirstAudioPacketReceived(const char* uid, int timeCost);
名称 类型 描述 uid const char * 远端用户ID。 timeCost int 耗时。 - OnFirstAudioPacketReceived:已解码远端音频首帧的回调。
void OnFirstRemoteAudioDecoded(const char* uid, int elapsed);
名称 类型 描述 uid const char * 远端用户ID。 elapsed int 耗时。 - OnFirstVideoPacketSend:视频首包发送的回调。
void OnFirstVideoPacketSend(AliEngineVideoTrack streamUrl, int timeCost);
名称 类型 描述 streamUrl AliEngineVideoTrack 发送视频流。 timeCost int 耗时。 - OnFirstVideoPacketReceived:视频首包接收的回调。
void OnFirstVideoPacketReceived(const char* uid, AliEngineVideoTrack videoTrack, int timeCost);
名称 类型 描述 uid const char * 远端用户ID。 videoTrack AliEngineVideoTrack 接收视频流。 timeCost int 耗时。 - OnFirstVideoFrameReceived:收到远端用户视频首帧的回调。
void OnFirstVideoFrameReceived(const char* uid, AliEngineVideoTrack videoTrack, int timeCost);
名称 类型 描述 uid const char * 远端用户ID。 videoTrack AliEngineVideoTrack 接收视频流。 timeCost int 耗时。 - OnOccurWarning:警告回调。目前警告回调可以忽略,不会影响正常使用。
void OnOccurWarning(int warn, const char *msg);
参数 类型 描述 warn int 警告类型。 msg const char * 警告说明。 - OnOccurError:错误回调。
void OnOccurError(int error, const char *msg);
参数 类型 描述 error int 错误类型。 说明 当参数error为16908812或33620229时,您需要先释放实例,重新创建SDK实例,再调用JoinChannel加入频道。msg const char * 错误说明。 - OnBye:被服务器踢出或者频道关闭时的回调。
void OnBye(int code);
参数 类型 描述 code int onBye类型,详情请参见AliEngineOnByeType。 - OnAudioDeviceStateChanged:音频设备状态变更的回调。
void OnAudioDeviceStateChanged(const AliEngineDeviceInfo& deviceInfo, AliEngineExternalDeviceType deviceType, AliEngineExternalDeviceState deviceState);
参数 类型 描述 deviceInfo const AliEngineDeviceInfo& 外接设备信息。 deviceType AliEngineExternalDeviceType 外接设备类型。 deviceState AliEngineExternalDeviceState 外接设备状态。 - OnVideoDeviceStateChanged:视频设备状态变更的回调。
void OnVideoDeviceStateChanged(const AliEngineDeviceInfo& deviceInfo, AliEngineExternalDeviceType deviceType, AliEngineExternalDeviceState deviceState);
参数 类型 描述 deviceInfo const AliEngineDeviceInfo& 外接设备信息。 deviceType AliEngineExternalDeviceType 外接设备类型。 deviceState AliEngineExternalDeviceState 外接设备状态。 - OnConnectionLost:网络断开的回调。
void OnConnectionLost();
- OnTryToReconnect:尝试网络重连的回调。
void OnTryToReconnect();
- OnConnectionRecovery:网络重连成功的回调。
void OnConnectionRecovery();
- OnNetworkQualityChanged:网络质量变化时的回调。
void OnNetworkQualityChanged(const char *uid, AliEngineNetworkQuality upQuality, AliEngineNetworkQuality downQuality);
参数 类型 描述 uid const char * 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。 upQuality AliEngineNetworkQuality 上行网络质量。 downQuality AliEngineNetworkQuality 下行网络质量。 - OnConnectionStatusChange:网络连接状态改变的回调。
void OnConnectionStatusChange(int status, int reason);
名称 类型 描述 status int 当前网络链接状态,详情请参见AliEngineConnectionStatus。 reason int 网络链接状态改变原因,详情请参见AliEngineConnectionStatusChangeReason。 - OnUserAudioMuted:对端用户停止音频数据发送的通知。
void OnUserAudioMuted(const char* uid, bool isMute);
名称 类型 描述 uid const char* 执行muteAudio的用户。 isMute bool 是否静音。取值: - true:静音。
- false:未静音。
- OnUserVideoMuted:对端用户发送视频黑帧数据发送的通知。
void OnUserVideoMuted(const char* uid, bool isMute);
名称 类型 描述 uid const char* 执行EnableLocalVideo的用户。 isMute bool 是否打开相机流采集。取值: - true:打开相机流采集。
- false:关闭相机流采集。
- OnUserAudioInterruptedBegin:用户音频被中断的通知。
void OnUserAudioInterruptedBegin(const char* uid);
名称 类型 描述 uid const char* audio被中断的用户。 - OnUserAudioInterruptedEnded:用户音频中断结束的通知。
void OnUserAudioInterruptedEnded(const char* uid);
名称 类型 描述 uid const char* audio中断结束的用户。 - OnRemoteAudioAccompanyStarted:用户伴奏开始播放时的回调。
void OnRemoteAudioAccompanyStarted(const char* uid);
名称 类型 描述 uid const char* 用户ID。 - OnRemoteAudioAccompanyFinished:用户伴奏结束播放时的回调。
void OnRemoteAudioAccompanyFinished(const char* uid);
名称 类型 描述 uid const char* 用户ID。 - OnUserWillResignActive:远端用户应用退到后台时的回调。
void OnUserWillResignActive(const char* uid);
名称 类型 描述 uid const char* 用户ID。 - OnUserWillBecomeActive:远端用户应用返回前台时的回调。
void OnUserWillBecomeActive(const char* uid);
名称 类型 描述 uid const char* 用户ID。 - OnUpdateRoleNotify:用户角色发生改变时的回调。
void onUpdateRoleNotify(const AliEngineClientRole oldRole, const AliEngineClientRole newRole);
参数 类型 描述 oldRole AliEngineClientRole 切换前的角色。 newRole AliEngineClientRole 切换后的角色。 - OnAudioPlayingStateChanged:伴奏播放的回调。
void OnAudioPlayingStateChanged(AliEngineAudioPlayingType type, AliEngineAudioPlayingErrorCode errorCode);
名称 类型 描述 type AliEngineAudioPlayingType 当前播放状态。 errorCode AliEngineAudioPlayingErrorCode 错误码。 - OnAudioEffectFinished:本地音效文件播放结束的回调。
void OnAudioEffectFinished(int soundId);
名称 类型 描述 soundId int 用户给该音效文件分配的ID。 - OnLastmileDetectResultWithQuality:网络质量探测的回调。
void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality);
参数 类型 描述 networkQuality AliEngineNetworkQuality 网络质量。 - OnAudioDeviceRecordLevel:音频采集设备测试的回调。
void OnAudioDeviceRecordLevel(int level);
参数 类型 描述 level int 音频采集设备音量值。 - OnAudioDevicePlayoutLevel:音频播放设备测试回调。
void OnAudioDevicePlayoutLevel(int level);
参数 类型 描述 level int 音频采集设备音量值。 - OnAudioDevicePlayoutEnd:音频播放设备测试结束(音频文件播放完毕)时的回调。
void OnAudioDevicePlayoutEnd();
- OnStats:当前会话统计信息回调(2s触发一次)。
void OnStats(const AliEngineStats& stats);
参数 类型 描述 stats const AliEngineStats& 会话统计信息。 - OnLocalVideoStats:本地视频统计信息回调(2s触发一次)。
void OnLocalVideoStats(const AliEngineLocalVideoStats& localVideoStats);
参数 类型 描述 localVideoStats const AliEngineLocalVideoStats& 本地视频统计信息。 - OnRemoteVideoStats:远端视频统计信息回调(2s触发一次)。
void OnRemoteVideoStats(const AliEngineRemoteVideoStats& remoteVideoStats);
参数 类型 描述 remoteVideoStats const AliEngineRemoteVideoStats& 远端视频统计信息。 - OnLocalAudioStats:本地音频统计信息回调(2s触发一次)。
void OnLocalAudioStats(const AliEngineLocalAudioStats& localAudioStats);
参数 类型 描述 localAudioStats const AliEngineLocalAudioStats& 本地音频统计信息。 - OnRemoteAudioStats:远端音频统计信息回调(2s触发一次)。
void OnRemoteAudioStats(const AliEngineRemoteAudioStats& remoteAudioStats);
参数 类型 描述 remoteAudioStats const AliEngineRemoteAudioStats& 远端音频统计信息。 - OnStartLiveStreamingResult:低延时互动直播模式开始时的回调。
void OnStartLiveStreamingResult(int result);
参数 类型 描述 result int 直播拉流结果,0表示拉流成功,其他表示失败。 - OnMediaRecordEvent:录制事件回调。
void OnMediaRecordEvent(int event, const char* filePath);
参数 类型 说明 event int 录制事件。取值: - 0:录制开始。
- 1:录制结束。
- 2:打开文件失败。
- 3:写文件失败。
filePath const char* 录制文件路径。 - OnPerformanceLow:当前设备性能不足的回调。
void OnPerformanceLow();
- OnPerformanceRecovery:当前设备性能恢复的回调。
void OnPerformanceRecovery();
- OnAudioVolumeCallback:用户音量大小的回调。
void OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume);
参数 类型 描述 volumeInfo const AliEngineUserVolumeInfo* 说话人结构体信息。 说明 AliEngineUserVolumeInfo中user_id为0表示本地推流音量,1表示远端混音音量,其他表示用户的音量。volumeInfoCount int 回调的说话人的个数。 totalVolume int 混音后的总音量,范围[0,255]。在本地用户的回调中,totalVolume为本地用户混音后的音量;在远端用户的回调中,totalVolume为所有说话者混音后的总音量。 - OnActiveSpeaker:订阅的当前说话人。当前时间段说话可能性最大的用户uid。如果返回的uid为0,则默认为本地用户。
void OnActiveSpeaker(const char *uid);
名称 类型 描述 uid const char * 用户ID。 - OnMediaExtensionMsgReceived:收到媒体扩展信息的回调。当房间中有用户发送自定义数据时,可以通过这个回调接收数据。
void OnMediaExtensionMsgReceived(const char* uid,unsigned char* message, unsigned int size);
参数 类型 描述 uid const char* 用户uid。 message unsigned char* 接收到的自定义数据。 size int 接收到的数据长度。 - OnAudioRouteChanged:语音路由发生变化的回调(适用于iOS端)。
void OnAudioRouteChanged(const AliEngineAudioRouteType routing);
参数 类型 描述 routing const AliEngineAudioRouteType 当前使用的语音路由。 - OnSnapshotComplete:截图回调。
void OnSnapshotComplete(const char* userId, AliEngineVideoTrack trackType, void* buffer, int width, int height, bool success);
名称 类型 描述 userId const char* 用户ID。 trackType AliEngineVideoTrack 截图视频流。 buffer void* 成功返回截图RGBA数据,失败为NULL。 width int 截图宽度。 height int 截图高度。 success bool 截图是否成功。 - OnPublishLiveStreamStateChanged:旁路推流状态改变的回调。
void OnPublishLiveStreamStateChanged(const char* streamUrl ,int state ,int errCode);
参数 类型 说明 streamUrl const char* 流地址。 state int 推流状态,详情请参见AliEngineTrascodingLiveStreamStatus。 errCode int 错误码,详情请参见AliEngineTrascodingLiveStreamErrorCode。 - OnPublishTaskStateChanged:旁路任务状态改变的回调。
void OnPublishTaskStateChanged(const char* streamUrl, int state);
参数 类型 说明 streamUrl const char* 流地址。 state int 推流状态,详情请参见AliEngineTrascodingLiveStreamStatus。 - OnChannelRelayStateChanged:跨频道连麦状态变化的回调。
void OnChannelRelayStateChanged(int state, int code, const char* msg);
参数 类型 说明 state int 当前连麦状态,详情请参见AliEngineChannelRelayState。 code int 当前状态码,详情请参见AliEngineChannelRelayErrorCode。 msg const char* 状态描述信息。 - OnChannelRelayEvent:跨频道连麦事件的回调。
void OnChannelRelayEvent(int state);
参数 类型 说明 state int 状态码,详情请参见AliEngineChannelRelayEvent。 - OnUserVideoEnabled:对端用户关闭相机流采集发送的通知。
void OnUserVideoEnabled(const char* uid, bool isEnable);
名称 类型 描述 uid const char* 执行EnableLocalVideo的用户。 isEnable bool 是否关闭相机流采集。取值: - true:打开相机流采集。
- false:关闭相机流采集。
- OnRemoteVideoChanged:远端视频流改变回调。
virtual void OnRemoteVideoChanged(const char* uid, AliEngineVideoTrack trackType, const AliEngineVideoState state, const AliEngineVideoReason reason);
参数 类型 描述 uid const char* 需要被通知的用户。 trackType AliEngineVideoTrack 视频流类型。 state const AliEngineVideoState 视频状态的类型。 reason AliEngineVideoReason 触发状态变化的原因。