ILocalEncodedVideoFrameObserver

class bytertc::ILocalEncodedVideoFrameObserver

本地视频帧监测器

Defined in : bytertc_advance.h

成员函数

返回 名称
virtual ~ILocalEncodedVideoFrameObserver
virtual void OnLocalEncodedVideoFrame

函数说明

~ILocalEncodedVideoFrameObserver

virtual bytertc::ILocalEncodedVideoFrameObserver::~ILocalEncodedVideoFrameObserver()

析构函数

OnLocalEncodedVideoFrame

virtual void bytertc::ILocalEncodedVideoFrameObserver::OnLocalEncodedVideoFrame(
    StreamIndex type,
    const IEncodedVideoFrame& video_stream)

调用 RegisterLocalEncodedVideoFrameObserver 后,SDK 收到本地视频帧信息时,回调该事件

传入参数

参数名 类型 说明
type StreamIndex 本地视频帧类型,参看 StreamIndex
video_stream const IEncodedVideoFrame& 本地视频帧信息,参看 IEncodedVideoFrame

IRtcEngineLiteEventHandler

class bytertc::IRtcEngineLiteEventHandler

音视频引擎事件回调接口

Defined in : bytertc_engine_lite_event_handler.h

成员函数

返回 名称
virtual void OnWarning
virtual void OnError
virtual void OnAudioMixingFinished
virtual void OnAudioMixingStateChanged
virtual void OnAudioEffectFinished
virtual void OnLogReport
virtual void OnConnectionStateChanged
virtual void OnNetworkTypeChanged
virtual void OnPerformanceAlarms
virtual void OnMediaDeviceStateChanged
virtual void OnSysStats
virtual void OnHttpProxyState
virtual void OnHttpsProxyState
virtual void OnSocks5ProxyState
virtual void OnRecordingStateUpdate
virtual void OnRecordingProgressUpdate

函数说明

OnWarning

virtual void bytertc::IRtcEngineLiteEventHandler::OnWarning(
    int warn)

当内部发生警告事件时触发该回调

传入参数

参数名 类型 说明
warn int 警告标识码,详见:WarningCode

OnError

virtual void bytertc::IRtcEngineLiteEventHandler::OnError(
    int err)

当 SDK 内部发生不可逆转错误时触发该回调。

传入参数

参数名 类型 说明
err int 错误标识码,参看 ErrorCode

OnAudioMixingFinished

virtual void bytertc::IRtcEngineLiteEventHandler::OnAudioMixingFinished()

本地音乐文件播放已结束回调。 当调用 StartAudioMixing 启动的混音文件播放结束后,会触发该回调。

OnAudioMixingStateChanged

virtual void bytertc::IRtcEngineLiteEventHandler::OnAudioMixingStateChanged(
    int id,
    bytertc::AudioMixingState state,
    bytertc::AudioMixingError error)

音频混音文件播放状态改变时回调

传入参数

参数名 类型 说明
id int 混音 ID
使用 IAudioMixingManager 相关接口时传入的唯一 ID。
state bytertc::AudioMixingState 混音状态
其混音状态可参考: AudioMixingState。
error bytertc::AudioMixingError 错误码
详见 AudioMixingError

注意

OnAudioEffectFinished

virtual void bytertc::IRtcEngineLiteEventHandler::OnAudioEffectFinished(
    int sound_id)

本地音效文件播放已结束回调。 当调用 StartAudioMixing 方法开始播放指定音效文件, 音效文件播放结束后, 应用会收到该回调。

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。

OnLogReport

virtual void bytertc::IRtcEngineLiteEventHandler::OnLogReport(
    const char* log_type,
    const char* log_content)

端监控日志回调。当产生一个端监控事件时触发该回调。

传入参数

参数名 类型 说明
log_type const char* 事件类型。目前类型固定为 "live_webrtc_monitor_log"。
log_content const char* 端监控日志内容。

OnConnectionStateChanged

virtual void bytertc::IRtcEngineLiteEventHandler::OnConnectionStateChanged(
    bytertc::ConnectionState state)

SDK 与信令服务器连接状态改变回调。连接状态改变时触发。

传入参数

参数名 类型 说明
state bytertc::ConnectionState 当前 SDK 与信令服务器的连接状态,详见 ConnectionState

OnNetworkTypeChanged

virtual void bytertc::IRtcEngineLiteEventHandler::OnNetworkTypeChanged(
    bytertc::NetworkType type)

SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。

传入参数

参数名 类型 说明
type bytertc::NetworkType SDK 当前的网络连接类型,详见:NetworkType 。

OnPerformanceAlarms

virtual void bytertc::IRtcEngineLiteEventHandler::OnPerformanceAlarms(
    bytertc::PerformanceAlarmMode mode,
    const char* room_id,
    bytertc::PerformanceAlarmReason reason,
    const bytertc::SourceWantedData& data)

本地未开启发布性能回退,检测到设备性能不足时,收到此回调。
本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。

传入参数

参数名 类型 说明
mode bytertc::PerformanceAlarmMode 指示本地是否开启发布回退功能。参看 PerformanceAlarmMode
• 当发布端未开启发布性能回退时,mode 值为 kPerformanceAlarmModeNormal。
• 当发布端开启发布性能回退时,mode 值为 kPerformanceAlarmModeSimulcast。
room_id const char* • 未开启发布性能回退时,room_id 为空
• 开启发布性能回退时,room_id 是告警影响的房间 ID。
reason bytertc::PerformanceAlarmReason 告警原因,参看 PerformanceAlarmReason
data const bytertc::SourceWantedData& 性能回退相关数据,详见 SourceWantedData。

OnMediaDeviceStateChanged

virtual void bytertc::IRtcEngineLiteEventHandler::OnMediaDeviceStateChanged(
    const char* device_id,
    bytertc::MediaDeviceType device_type,
    bytertc::MediaDeviceState device_state,
    bytertc::MediaDeviceError device_error)

媒体设备状态回调。提示音频采集、音频渲染、视频采集三种媒体设备的状态。

传入参数

参数名 类型 说明
device_id const char* 设备 ID
device_type bytertc::MediaDeviceType 设备类型,详见 MediaDeviceType
device_state bytertc::MediaDeviceState 设备状态,详见 MediaDeviceState
device_error bytertc::MediaDeviceError 设备错误类型,详见 MediaDeviceError

注意

OnSysStats

virtual void bytertc::IRtcEngineLiteEventHandler::OnSysStats(
    const bytertc::SysStats& stats)

周期性地发出回调,报告当前cpu与memory使用率

传入参数

参数名 类型 说明
stats const bytertc::SysStats& 返回包含当前系统状态信息的结构体,详见 SysStats

OnHttpProxyState

virtual void bytertc::IRtcEngineLiteEventHandler::OnHttpProxyState(
    int state)

HTTP 代理连接状态改变时,收到该回调。

传入参数

参数名 类型 说明
state int 当前 HTTP 代理连接状态,详见 HttpProxyState

OnHttpsProxyState

virtual void bytertc::IRtcEngineLiteEventHandler::OnHttpsProxyState(
    int state)

HTTPS 代理连接状态改变时,收到该回调。

传入参数

参数名 类型 说明
state int 当前 HTTPS 代理连接状态,详见 HttpProxyState

OnSocks5ProxyState

virtual void bytertc::IRtcEngineLiteEventHandler::OnSocks5ProxyState(
    int state,
    const char* cmd,
    const char* proxy_address,
    const char* local_address,
    const char* remote_address)

Socks5 代理状态改变时,收到该回调。

传入参数

参数名 类型 说明
state int SOCKS5 代理连接状态,详见 Socks5ProxyState
cmd const char* 代理连接的每一步操作命令
proxy_address const char* 代理地址信息
local_address const char* 当前连接使用的本地地址
remote_address const char* 远端的连接地址

OnRecordingStateUpdate

virtual void bytertc::IRtcEngineLiteEventHandler::OnRecordingStateUpdate(
    StreamIndex type,
    RecordingState state,
    RecordingErrorCode error_code,
    RecordingInfo info)

获取本地录制状态回调。
该回调由 StartFileRecording 或 StopFileRecording 触发。

传入参数

参数名 类型 说明
type StreamIndex 录制流的流属性,参看 StreamIndex
state RecordingState 录制状态,参看 RecordingState
error_code RecordingErrorCode 录制错误码,参看 RecordingErrorCode
info RecordingInfo 录制文件的详细信息,参看 RecordingInfo

OnRecordingProgressUpdate

virtual void bytertc::IRtcEngineLiteEventHandler::OnRecordingProgressUpdate(
    StreamIndex type,
    RecordingProgress process,
    RecordingInfo info)

本地录制进度回调。
该回调由 StartFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。

传入参数

参数名 类型 说明
type StreamIndex 录制流的流属性,参看 StreamIndex
process RecordingProgress 录制进度,参看 RecordingProgress
info RecordingInfo 录制文件的详细信息,参看 RecordingInfo

IMetadataObserver

class bytertc::IMetadataObserver

metadata 观察者,可以接收媒体流中的 metadata, 或者向媒体流中添加 metadata

Defined in : bytertc_engine_lite_interface.h

成员函数

返回 名称
virtual bool OnReadyToSendMetadata
virtual void OnMetadataReceived

函数说明

OnReadyToSendMetadata

virtual bool bytertc::IMetadataObserver::OnReadyToSendMetadata(
    VideoMetadataBuffer* metadata)

当 SDK 准备发送一个视频帧时,会回调该事件,以确定是否需要在该视频帧中添加 metadata。

传入参数

参数名 类型 说明
metadata VideoMetadataBuffer* 待发送的数据,把数据拷贝到 data 字段中,并将 size 设置为真实的大小。

返回值

注意

OnMetadataReceived

virtual void bytertc::IMetadataObserver::OnMetadataReceived(
    const char* roomid,
    const char* uid,
    const VideoMetadataBuffer& metadata)

当 SDK 收到一个视频帧时,并且其中包含 medatada 时,会回调该事件。

传入参数

参数名 类型 说明
roomid const char* 当前帧所属的房间 ID。
uid const char* 当前帧所属的用户 ID。
metadata const VideoMetadataBuffer& 视频帧中包含的 metadata 信息。参看 VideoMetadataBuffer。

注意 回调中不能有耗时操作,以免影响视频卡顿。

IAudioFrameObserver

class bytertc::IAudioFrameObserver

音频数据回调观察者

Defined in : bytertc_engine_lite_interface.h

成员函数

返回 名称
virtual void OnRecordAudioFrame
virtual void OnPlaybackAudioFrame
virtual void OnMixedAudioFrame

函数说明

OnRecordAudioFrame

virtual void bytertc::IAudioFrameObserver::OnRecordAudioFrame(
    const AudioFrame& audio_frame)

返回麦克风录制的音频数据

传入参数

参数名 类型 说明
audio_frame const AudioFrame& 麦克风录制的音频数据, 详见:AudioFrame

OnPlaybackAudioFrame

virtual void bytertc::IAudioFrameObserver::OnPlaybackAudioFrame(
    const AudioFrame& audio_frame)

返回远端所有用户混音后的音频数据

传入参数

参数名 类型 说明
audio_frame const AudioFrame& 远端所有用户混音后的音频数据, 详见:AudioFrame

OnMixedAudioFrame

virtual void bytertc::IAudioFrameObserver::OnMixedAudioFrame(
    const AudioFrame& audio_frame)

返回本地麦克风录制和远端所有用户混音后的音频数据

传入参数

参数名 类型 说明
audio_frame const AudioFrame& 本地麦克风录制和远端所有用户混音后的音频数据, 详见:AudioFrame

IVideoFrameObserver

class bytertc::IVideoFrameObserver

视频数据回调对象

Defined in : bytertc_engine_lite_interface.h

成员函数

返回 名称
virtual bool OnLocalScreenFrame
virtual bool OnLocalVideoFrame
virtual bool OnRemoteScreenFrame
virtual bool OnRemoteVideoFrame

函数说明

OnLocalScreenFrame

virtual bool bytertc::IVideoFrameObserver::OnLocalScreenFrame(
    IVideoFrame* videoFrame)

本地屏幕共享流数据回调

传入参数

参数名 类型 说明
videoFrame IVideoFrame* 视频数据,参看 IVideoFrame。

返回值

OnLocalVideoFrame

virtual bool bytertc::IVideoFrameObserver::OnLocalVideoFrame(
    IVideoFrame* videoFrame)

本地视频流数据回调

传入参数

参数名 类型 说明
videoFrame IVideoFrame* 视频数据,参看 IVideoFrame。

返回值

OnRemoteScreenFrame

virtual bool bytertc::IVideoFrameObserver::OnRemoteScreenFrame(
    const char* roomid,
    const char* uid,
    IVideoFrame* videoFrame)

远端屏幕共享流数据回调

传入参数

参数名 类型 说明
roomid const char* 房间 ID。
uid const char* 远端用户 ID。
videoFrame IVideoFrame* 视频数据,参看 IVideoFrame。

返回值

OnRemoteVideoFrame

virtual bool bytertc::IVideoFrameObserver::OnRemoteVideoFrame(
    const char* roomid,
    const char* uid,
    IVideoFrame* videoFrame)

远端视频数据回调

传入参数

参数名 类型 说明
roomid const char* 房间 ID。
uid const char* 远端用户 ID。
videoFrame IVideoFrame* 视频数据,参看 IVideoFrame}。

返回值

IRemoteAudioFrameObserver

class bytertc::IRemoteAudioFrameObserver

音频数据回调观察者

Defined in : bytertc_engine_lite_interface.h

IRTCRoomEventHandler

class bytertc::IRTCRoomEventHandler

音视频房间事件回调接口

Defined in : bytertc_room_event_handler_interface.h

成员函数

返回 名称
virtual void OnJoinRoomResult
virtual void OnLeaveRoom
virtual void OnRoomWarning
virtual void OnRoomError
virtual void OnAudioVolumeIndication
virtual void OnRoomStats
virtual void OnLocalStreamStats
virtual void OnRemoteStreamStats
virtual void OnUserJoined
virtual void OnUserLeave
virtual void OnMuteAllRemoteAudio
virtual void OnMuteAllRemoteVideo
virtual void OnUserMuteAudio
virtual void OnUserStartAudioCapture
virtual void OnUserStopAudioCapture
virtual void OnFirstLocalAudioFrame
virtual void OnFirstRemoteAudioFrame
virtual void OnStreamRemove
virtual void OnStreamAdd
virtual void OnSimulcastSubscribeFallback
virtual void OnRoomMessageReceived
virtual void OnRoomBinaryMessageReceived
virtual void OnUserMessageReceived
virtual void OnUserBinaryMessageReceived
virtual void OnUserMessageSendResult
virtual void OnRoomMessageSendResult
virtual void OnFirstLocalVideoFrameCaptured
virtual void OnLocalVideoSizeChanged
virtual void OnRemoteVideoSizeChanged
virtual void OnFirstRemoteVideoFrameRendered
virtual void OnUserMuteVideo
virtual void OnUserStartVideoCapture
virtual void OnUserStopVideoCapture
virtual void OnLocalAudioStateChanged
virtual void OnRemoteAudioStateChanged
virtual void OnLocalVideoStateChanged
virtual void OnRemoteVideoStateChanged
virtual void OnAudioFrameSendStateChanged
virtual void OnVideoFrameSendStateChanged
virtual void OnScreenVideoFrameSendStateChanged
virtual void OnAudioFramePlayStateChanged
virtual void OnVideoFramePlayStateChanged
virtual void OnScreenVideoFramePlayStateChanged

函数说明

OnJoinRoomResult

virtual void bytertc::IRTCRoomEventHandler::OnJoinRoomResult(
    const char* room_id,
    const char* uid,
    int error_code,
    JoinRoomType join_type,
    int elapsed)

首次加入房间/重连加入房间的回调。此回调表示用户调用 JoinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。

传入参数

参数名 类型 说明
room_id const char* 房间 ID。
uid const char* 用户 ID。
error_code int 用户加入房间回调的状态码。
• 0: 加入房间成功;
• 非 0: 加入房间失败,具体原因参看 ErrorCode 以及 WarningCode。
join_type JoinRoomType 用户加入房间的类型,标识用户第一次加入或断网重连加入。参看 JoinRoomType。
elapsed int 重连耗时。本地用户从连接断开到重连成功所经历的时间间隔,单位为 ms,加入房间失败为 -1

OnLeaveRoom

virtual void bytertc::IRTCRoomEventHandler::OnLeaveRoom(
    const RtcRoomStats& stats)

离开房间回调。
用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有与通话相关的音视频资源后,通过此回调通知用户离开房间成功。
离开房间后,如果 App 需要使用系统音视频设备,则建议收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备而导致初始化失败。

传入参数

参数名 类型 说明
stats const RtcRoomStats& 本次通话的统计数据,参看 RtcRoomStats 。

注意

OnRoomWarning

virtual void bytertc::IRTCRoomEventHandler::OnRoomWarning(
    int warn)

SDK 发生警告回调。
SDK 内部遇到可恢复错误时,在尝试自动恢复的同时,会通过此回调通知用户。此回调事件仅用作通知。

传入参数

参数名 类型 说明
warn int 警告码,参看 WarningCode。

OnRoomError

virtual void bytertc::IRTCRoomEventHandler::OnRoomError(
    int err)

SDK 发生错误回调。
SDK 内部遇到不可恢复错误时,会通过此回调通知 App,需要 App 根据错误码进行操作或提示用户。

传入参数

参数名 类型 说明
err int 错误码,参看 ErrorCode。

OnAudioVolumeIndication

virtual void bytertc::IRTCRoomEventHandler::OnAudioVolumeIndication(
    const AudioVolumeInfo* speakers,
    unsigned int speaker_number,
    int total_remote_volume)

提示房间内所有用户发送音量的回调。

传入参数

参数名 类型 说明
speakers const AudioVolumeInfo* 本地用户和订阅的远端用户的 ID 和音量。
参见:AudioVolumeInfo。
speaker_number unsigned int speakers 数组长度。
total_remote_volume int speakers 中包含的所有音频音量之和,取值范围是:[0,255]

注意

OnRoomStats

virtual void bytertc::IRTCRoomEventHandler::OnRoomStats(
    const RtcRoomStats& stats)

房间内通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。

传入参数

参数名 类型 说明
stats const RtcRoomStats& 当前 RtcEngine 统计数据,详见 RtcRoomStats

OnLocalStreamStats

virtual void bytertc::IRTCRoomEventHandler::OnLocalStreamStats(
    const LocalStreamStats& stats)

反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调,每 2s 触发一次。

传入参数

参数名 类型 说明
stats const LocalStreamStats& 当前 RtcEngine 统计数据,详见 LocalStreamStats

OnRemoteStreamStats

virtual void bytertc::IRTCRoomEventHandler::OnRemoteStreamStats(
    const RemoteStreamStats& stats)

通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况,每 2s 触发一次。

传入参数

参数名 类型 说明
stats const RemoteStreamStats& 当前 RtcEngine 统计数据,详见 RemoteStreamStats

OnUserJoined

virtual void bytertc::IRTCRoomEventHandler::OnUserJoined(
    const UserInfo& user_info,
    int elapsed)

远端主播角色用户加入房间回调。
1.远端主播角色用户调用 JoinRoom 方法加入房间时,房间内其他用户将收到该事件。
2.远端主播角色用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.远端静默观众角色用户调用 SetUserRole 方法将角色切换至主播时,房间内其他用户将收到该事件。
4.新进房用户会收到进房前已在房内的主播角色用户的进房回调通知。

传入参数

参数名 类型 说明
user_info const UserInfo& 用户信息,详见 UserInfo
• 已在房间中的用户会收到新进房的远端主播角色用户 ID 以及在房间内需要透传的信息;
• 新进房用户会收到已在房间中的远端主播角色用户 ID 以及在房间内需要透传的信息
elapsed int 此参数无意义

OnUserLeave

virtual void bytertc::IRTCRoomEventHandler::OnUserLeave(
    const char* uid,
    UserOfflineReason reason)

远端主播角色用户离开房间回调。
发生以下情形时,房间内其他用户会收到此事件:
1.远端主播角色用户调用 LeaveRoom 方法离开房间时。
2.远端主播角色用户调用 SetUserRole 方法将角色切换至静默观众。
3.远端主播角色用户断网,且一直未恢复。

传入参数

参数名 类型 说明
uid const char* 离开房间的远端用户 ID。
reason UserOfflineReason 用户离开房间的原因,参看 UserOfflineReason 。

OnMuteAllRemoteAudio

virtual void bytertc::IRTCRoomEventHandler::OnMuteAllRemoteAudio(
    const char* user_id,
    MuteState mute_state)

当房间内用户调用 MuteAllRemoteAudio, 改变接收所有远端音频流的状态时, 房间内其他用户收到这个回调。

传入参数

参数名 类型 说明
user_id const char* 改变接收状态的用户 ID
mute_state MuteState 接收状态,详见:MuteState

OnMuteAllRemoteVideo

virtual void bytertc::IRTCRoomEventHandler::OnMuteAllRemoteVideo(
    const char* uid,
    MuteState mute)

房间内用户暂停/恢复接收所有视频流时,房间内其他用户收到此回调。参看 MuteAllRemoteVideo。

传入参数

参数名 类型 说明
uid const char* 暂停/恢复接收视频流的用户 ID。
mute MuteState 暂停/恢复接收视频流的状态。参看 MuteState。

OnUserMuteAudio

virtual void bytertc::IRTCRoomEventHandler::OnUserMuteAudio(
    const char* user_id,
    MuteState mute_state)

房间内某用户调用 MuteLocalAudio 改变本地音频发送状态时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
user_id const char* 改变本地音频发送状态的用户 ID
mute_state MuteState 发送状态,参看 MuteState

OnUserStartAudioCapture

virtual void bytertc::IRTCRoomEventHandler::OnUserStartAudioCapture(
    const char* user_id)

房间内的用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
user_id const char* 开启音频采集的远端用户 ID

OnUserStopAudioCapture

virtual void bytertc::IRTCRoomEventHandler::OnUserStopAudioCapture(
    const char* user_id)

房间内的用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
user_id const char* 关闭音频采集的远端用户 ID

OnFirstLocalAudioFrame

virtual void bytertc::IRTCRoomEventHandler::OnFirstLocalAudioFrame(
    StreamIndex index)

本地采集到第一帧音频帧时,收到该回调

传入参数

参数名 类型 说明
index StreamIndex 音频流属性, 参看 StreamIndex

OnFirstRemoteAudioFrame

virtual void bytertc::IRTCRoomEventHandler::OnFirstRemoteAudioFrame(
    const RemoteStreamKey& key)

接收到来自远端某音频流的第一帧时,收到该回调。

传入参数

参数名 类型 说明
key const RemoteStreamKey& 远端音频流信息, 详见 RemoteStreamKey

注意 用户刚收到房间内每一路音频流时,都会收到该回调。

OnStreamRemove

virtual void bytertc::IRTCRoomEventHandler::OnStreamRemove(
    const MediaStreamInfo& stream,
    StreamRemoveReason reason)

房间内的远端用户停止发布音视频流时,本地用户会收到此回调。

传入参数

参数名 类型 说明
stream const MediaStreamInfo& 流的属性。参看 MediaStreamInfo 。
reason StreamRemoveReason 远端流移除的原因。参看 StreamRemoveReason 。

OnStreamAdd

virtual void bytertc::IRTCRoomEventHandler::OnStreamAdd(
    const MediaStreamInfo& stream)

房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调。包括移除后又重新发布的流。

传入参数

参数名 类型 说明
stream const MediaStreamInfo& 流属性,参看 MediaStreamInfo 。

OnSimulcastSubscribeFallback

virtual void bytertc::IRTCRoomEventHandler::OnSimulcastSubscribeFallback(
    const RemoteStreamSwitch& event)

因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。

传入参数

参数名 类型 说明
event const RemoteStreamSwitch& 流切换信息。详见 RemoteStreamSwitch。

注意

OnRoomMessageReceived

virtual void bytertc::IRTCRoomEventHandler::OnRoomMessageReceived(
    const char* uid,
    const char* message)

接收到房间内广播消息的回调。

传入参数

参数名 类型 说明
uid const char* 消息发送者 ID
message const char* 收到的消息内容

注意 1.同一房间内其他用户调用 SendRoomMessage 发送广播消息时会收到该回调。

OnRoomBinaryMessageReceived

virtual void bytertc::IRTCRoomEventHandler::OnRoomBinaryMessageReceived(
    const char* uid,
    int size,
    const uint8_t* message)

接收到房间内二进制广播消息的回调。

传入参数

参数名 类型 说明
uid const char* 消息发送者 ID
size int 收到的二进制消息长度
message const uint8_t* 收到的二进制消息内容

注意 1.同一房间内其他用户调用 SendRoomBinaryMessage 发送二进制广播消息时会收到该回调。

OnUserMessageReceived

virtual void bytertc::IRTCRoomEventHandler::OnUserMessageReceived(
    const char* uid,
    const char* message)

收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。

传入参数

参数名 类型 说明
uid const char* 消息发送者 ID 。
message const char* 收到的文本消息内容。

注意

OnUserBinaryMessageReceived

virtual void bytertc::IRTCRoomEventHandler::OnUserBinaryMessageReceived(
    const char* uid,
    int size,
    const uint8_t* message)

单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。

传入参数

参数名 类型 说明
uid const char* 消息发送者 ID 。
message const uint8_t* 收到的二进制消息内容。

注意

OnUserMessageSendResult

virtual void bytertc::IRTCRoomEventHandler::OnUserMessageSendResult(
    int64_t msgid,
    int error)

向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。

传入参数

参数名 类型 说明
msgid int64_t 本条消息的 ID。
error int 文本或二进制消息发送结果,详见 UserMessageSendResult

注意

OnRoomMessageSendResult

virtual void bytertc::IRTCRoomEventHandler::OnRoomMessageSendResult(
    int64_t msgid,
    int error)

当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。

传入参数

参数名 类型 说明
msgid int64_t 本条消息的 ID
error int 消息发送结果,详见 RoomMessageSendResult

OnFirstLocalVideoFrameCaptured

virtual void bytertc::IRTCRoomEventHandler::OnFirstLocalVideoFrameCaptured(
    StreamIndex index,
    VideoFrameInfo info)

第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。

传入参数

参数名 类型 说明
index StreamIndex 流属性。参看 StreamIndex。
info VideoFrameInfo 视频信息。参看 VideoFrameInfo。

OnLocalVideoSizeChanged

virtual void bytertc::IRTCRoomEventHandler::OnLocalVideoSizeChanged(
    StreamIndex index,
    const VideoFrameInfo& info)

本地视频大小或旋转配置发生改变时,收到此回调。

传入参数

参数名 类型 说明
index StreamIndex 流属性。参看 StreamIndex。
info const VideoFrameInfo& 视频帧信息。参看 VideoFrameInfo。

OnRemoteVideoSizeChanged

virtual void bytertc::IRTCRoomEventHandler::OnRemoteVideoSizeChanged(
    RemoteStreamKey key,
    const VideoFrameInfo& info)

远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。

传入参数

参数名 类型 说明
key RemoteStreamKey 远端流信息。参看 RemoteStreamKey。
info const VideoFrameInfo& 视频帧信息。参看 VideoFrameInfo。

OnFirstRemoteVideoFrameRendered

virtual void bytertc::IRTCRoomEventHandler::OnFirstRemoteVideoFrameRendered(
    const RemoteStreamKey key,
    const VideoFrameInfo& info)

第一帧远端视频流在视图上渲染成功后,收到此回调。

传入参数

参数名 类型 说明
key const RemoteStreamKey 远端流信息。参看 RemoteStreamKey。
info const VideoFrameInfo& 视频帧信息。参看 VideoFrameInfo。

OnUserMuteVideo

virtual void bytertc::IRTCRoomEventHandler::OnUserMuteVideo(
    const char* uid,
    MuteState mute)

房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。参看 MuteLocalVideo。

传入参数

参数名 类型 说明
uid const char* 暂停/恢复发送视频流的用户 ID。
mute MuteState 暂停/恢复发送视频流的状态。参看 MuteState。

OnUserStartVideoCapture

virtual void bytertc::IRTCRoomEventHandler::OnUserStartVideoCapture(
    const char* user_id)

房间内的用户调用 StartVideoCapture 开启视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
user_id const char* 开启视频采集的远端用户 ID

OnUserStopVideoCapture

virtual void bytertc::IRTCRoomEventHandler::OnUserStopVideoCapture(
    const char* user_id)

房间内的用户调用 StopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。

传入参数

参数名 类型 说明
user_id const char* 关闭视频采集的远端用户ID

OnLocalAudioStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnLocalAudioStateChanged(
    LocalAudioStreamState state,
    LocalAudioStreamError error)

本地音频的状态发生改变时,该回调通知当前的本地音频状态。

传入参数

参数名 类型 说明
state LocalAudioStreamState 本地音频设备的状态,详见: LocalAudioStreamState
error LocalAudioStreamError 本地音频状态改变时的错误码,详见:LocalAudioStreamError

OnRemoteAudioStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnRemoteAudioStateChanged(
    const RemoteStreamKey& key,
    RemoteAudioState state,
    RemoteAudioStateChangeReason reason)

用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

传入参数

参数名 类型 说明
key const RemoteStreamKey& 远端流信息, 参看 RemoteStreamKey
state RemoteAudioState 远端音频流状态,参看 RemoteAudioState
reason RemoteAudioStateChangeReason 远端音频流状态改变的原因,参看 RemoteAudioStateChangeReason

OnLocalVideoStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnLocalVideoStateChanged(
    StreamIndex index,
    LocalVideoStreamState state,
    LocalVideoStreamError error)

本地视频流的状态发生改变时,收到该事件。

传入参数

参数名 类型 说明
index StreamIndex 音/视频属性,参看 StreamIndex
state LocalVideoStreamState 本地视频流状态,参看 LocalVideoStreamState
error LocalVideoStreamError 本地视频状态改变时的错误码,参看 LocalVideoStreamError

OnRemoteVideoStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnRemoteVideoStateChanged(
    RemoteStreamKey key,
    RemoteVideoState state,
    RemoteVideoStateChangeReason reason)

远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。

传入参数

参数名 类型 说明
key RemoteStreamKey 远端视频流的信息,房间、用户 ID、流属性等。参看 RemoteStreamKey。
state RemoteVideoState 远端视频流状态,参看 RemoteVideoState。
reason RemoteVideoStateChangeReason 远端视频流状态改变的原因,参看 RemoteVideoStateChangeReason。

OnAudioFrameSendStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnAudioFrameSendStateChanged(
    const RtcUser& user,
    FirstFrameSendState state)

音频首帧发送状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

OnVideoFrameSendStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnVideoFrameSendStateChanged(
    const RtcUser& user,
    FirstFrameSendState state)

视频首帧发送状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

OnScreenVideoFrameSendStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnScreenVideoFrameSendStateChanged(
    const RtcUser& user,
    FirstFrameSendState state)

屏幕共享流视频首帧发送状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 本地用户信息,详见 RtcUser
state FirstFrameSendState 首帧发送状态,详见 FirstFrameSendState

OnAudioFramePlayStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnAudioFramePlayStateChanged(
    const RtcUser& user,
    FirstFramePlayState state)

音频首帧播放状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

OnVideoFramePlayStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnVideoFramePlayStateChanged(
    const RtcUser& user,
    FirstFramePlayState state)

视频首帧播放状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

OnScreenVideoFramePlayStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnScreenVideoFramePlayStateChanged(
    const RtcUser& user,
    FirstFramePlayState state)

屏幕共享流视频首帧播放状态改变回调

传入参数

参数名 类型 说明
user const RtcUser& 远端用户信息,详见 RtcUser
state FirstFramePlayState 首帧播放状态,详见 FirstFramePlayState

ITranscoderObserver

class bytertc::ITranscoderObserver

推流 Observer @author wanghaoxu

Defined in : bytertc_transcoder_interface.h

成员函数

返回 名称
virtual void OnStreamMixingEvent
virtual void OnStreamMixingVideoFrame
virtual void OnStreamMixingAudioFrame
virtual void OnStreamMixingDataFrame

函数说明

OnStreamMixingEvent

virtual void bytertc::ITranscoderObserver::OnStreamMixingEvent(
    StreamMixingEvent event,
    const char* event_data,
    int error,
    StreamMixingType mix_type)

通知 Transcoding 关键事件 @author wanghaoxu

传入参数

参数名 类型 说明
event StreamMixingEvent 事件类型
event_data const char* 事件参数
error int 错误类型
mix_type StreamMixingType 合流类型

OnStreamMixingVideoFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingVideoFrame(
    IVideoFrame* video_frame)

合流视频回调,运行在视频回调线程 @author wanghaoxu

传入参数

参数名 类型 说明
videoFrame IVideoFrame* video_frame 视频帧

OnStreamMixingAudioFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingAudioFrame(
    IAudioFrame* audio_frame)

合流音频回调,运行在音频回调线程 @author wanghaoxu

传入参数

参数名 类型 说明
audioFrame IAudioFrame* audio_frame 音频帧

OnStreamMixingDataFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingDataFrame(
    IDataFrame* data_frame)

视频SEI帧回调,运行在视频回调线程 @author wanghaoxu

传入参数

参数名 类型 说明
dataFrame IDataFrame* data_frame SEI 数据