通过阅读本文,您可以了解Linux SDK(C++)回调及监听的接口详情。

目录

说明 回调接口调用方式为异步调用。

AliRtcEngineEventListener:本地用户行为回调。

API 描述 以上版本支持
OnError SDK的异常通知。 1.18.1
OnWarning SDK的警告通知。 1.18.1
OnJoinChannelResult 加入频道结果回调。 1.18.1
OnLeaveChannelResult 离开频道结果回调。 1.18.1
OnPublishChangedNotify 推流结果回调。 1.18.1
OnAudioFrameReceived 音频原始数据的回调。 1.18.1
OnVideoFrameReceived 视频原始数据的回调。 1.18.1
OnAddVideoWatermarkResult 添加水印结果的回调。 1.18.11
OnClearVideoWatermarkResult 删除水印结果的回调。 1.18.11

AliRtcEngineNotify:远端用户行为回调。

API 描述 以上版本支持
OnRemoteUserOnLineNotify 远端用户上线回调。 1.18.1
OnRemoteUserOffLineNotify 远端用户下线回调。 1.18.1
AliRTCMediaPlayerEventHandler:媒体播放器回调。
API 描述 以上版本支持
OnStateChange 媒体播放器状态变化通知。 1.18.1
OnEventNotify 媒体播放器事件通知。 1.18.1
OnPlayingProgress 播放进度回调。 1.18.1

接口详情

  • OnError:SDK的异常通知。
    virtual void OnError(AliRTCSdk::Linux::ERROR_CODE error_code) = 0;
    参数名 类型 描述
    error_code AliRTCSdk::Linux::ERROR_CODE 引擎的错误码。
  • OnWarning:SDK的警告通知。
    virtual void OnWarning(AliRTCSdk::Linux::WARNNING_CODE warning_code) = 0;
    参数名 类型 描述
    warning_code AliRTCSdk::Linux::WARNNING_CODE 引擎的警告码。
  • OnJoinChannelResult:加入频道结果回调。
    virtual void OnJoinChannelResult(int result) = 0;
    参数名 类型 描述
    result int 加入频道返回结果, 0表示加入频道成功,非0表示加入频道失败。
  • OnLeaveChannelResult:离开频道结果回调。
    virtual void OnLeaveChannelResult(int result) = 0;
    参数名 类型 描述
    result int 离开频道返回结果, 0表示离开频道成功,非0表示离开频道失败。
  • OnPublishChangedNotify:推流结果回调。
    virtual void OnPublishChangedNotify(int result, bool isPublished) = 0;
    参数名 类型 描述
    result int 推流返回结果,0表示推流成功,返回其他表示推流失败。
    isPublished bool 推流状态,true表示开始推流,false表示停止推流。
  • OnAudioFrameReceived:音频原始数据的回调。
    virtual void OnAudioFrameReceived(const AliRTCSdk::Linux::AudioFrame * frame) = 0;
    参数名 类型 描述
    frame const AliRTCSdk::Linux::AudioFrame * 音频原始数据。
  • OnVideoFrameReceived:视频原始数据的回调。
    virtual void OnVideoFrameReceived(const char * uid, const AliRTCSdk::Linux::VideoFrame * frame) = 0;
    参数名 类型 描述
    uid const char * 远端用户ID。
    frame const AliRTCSdk::Linux::VideoFrame * 视频原始数据。
  • OnRemoteUserOnLineNotify:远端用户上线回调。
    virtual void OnRemoteUserOnLineNotify(const char * uid) = 0;
    参数名 类型 描述
    uid const char * 远端用户ID。
  • OnRemoteUserOffLineNotify:远端用户下线回调。
    virtual void OnRemoteUserOffLineNotify(const char * uid) = 0;
    参数名 类型 描述
    uid const char * 远端用户ID。
  • OnStateChange:媒体播放器状态变化通知。
    virtual void OnStateChange(AliRTCMediaPlayerInterface *mediaPlayer, AliRTCSdk::Linux::MediaPlayerState state) = 0;
    参数名 类型 描述
    mediaPlayer AliRTCMediaPlayerInterface * 媒体播放器实例。
    state AliRTCSdk::Linux::MediaPlayerState 当前的播放器状态。
  • OnEventNotify:媒体播放器事件通知。
    virtual void OnEventNotify(AliRTCMediaPlayerInterface *mediaPlayer, AliRTCSdk::Linux::MediaPlayerEvent event, int errorCode) = 0;
    参数名 类型 描述
    mediaPlayer AliRTCMediaPlayerInterface * 媒体播放器实例。
    event AliRTCSdk::Linux::MediaPlayerEvent 当前接收到的事件。
    errorCode int 事件对应的错误码,无错误时为0。
  • OnPlayingProgress:播放进度回调。
    virtual void OnPlayingProgress(AliRTCMediaPlayerInterface *mediaPlayer, unsigned long long millisecond) = 0;
    参数名 类型 描述
    mediaPlayer AliRTCMediaPlayerInterface * 媒体播放器实例。
    millisecond unsigned long long 当前的播放进度,单位为毫秒,目前回调间隔为1秒。
  • OnAddVideoWatermarkResult:添加水印结果的回调。
    virtual void OnAddVideoWatermarkResult(AliRTCSdk::Linux::VideoSource videoSource, int result);
    参数名 类型 描述
    videoSource AliRTCSdk::Linux::VideoSource 添加水印的视频流类型。
    result int 添加水印结果,0表示添加水印成功,返回其他表示添加水印失败。
  • OnClearVideoWatermarkResult:删除水印结果的回调。
    virtual void OnClearVideoWatermarkResult(AliRTCSdk::Linux::VideoSource videoSource, int result);
    参数名 类型 描述
    videoSource AliRTCSdk::Linux::VideoSource 清除水印的视频流类型。
    result int 删除水印结果,0表示删除水印成功,返回其他表示删除水印失败。