IAudioFrameObserver

class bytertc::IAudioFrameObserver

音频数据回调观察者

Defined in : bytertc_audio_frame.h

成员函数

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

函数说明

OnRecordAudioFrame

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

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

传入参数

参数名 类型 说明
audio_frame const IAudioFrame& 音频数据, 详见:IAudioFrame

OnPlaybackAudioFrame

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

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

传入参数

参数名 类型 说明
audio_frame const IAudioFrame& 音频数据, 详见:IAudioFrame

OnRemoteUserAudioFrame

virtual void bytertc::IAudioFrameObserver::OnRemoteUserAudioFrame(
    const RemoteStreamKey& stream_info,
    const IAudioFrame& audio_frame)

返回远端单个用户的音频数据

传入参数

参数名 类型 说明
stream_info const RemoteStreamKey& 远端流信息,参看 RemoteStreamKey。
audio_frame const IAudioFrame& 音频数据, 参看 IAudioFrame

OnMixedAudioFrame

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

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

传入参数

参数名 类型 说明
audio_frame const IAudioFrame& 音频数据, 详见:IAudioFrame

OnRecordScreenAudioFrame

virtual void bytertc::IAudioFrameObserver::OnRecordScreenAudioFrame(
    const IAudioFrame& audio_frame)

返回本地屏幕录制的音频数据

传入参数

参数名 类型 说明
audio_frame const IAudioFrame& 音频数据, 详见:IAudioFrame

IEncryptHandler

class bytertc::IEncryptHandler

加密/解密处理函数

Defined in : bytertc_common_defines.h

成员函数

返回 名称
virtual unsigned int OnEncryptData
virtual unsigned int OnDecryptData

函数说明

OnEncryptData

virtual unsigned int bytertc::IEncryptHandler::OnEncryptData(
    const unsigned char* data,
    unsigned int length,
    unsigned char* buf,
    unsigned int buf_len)

自定义加密。
使用设定的自定义加密方式,对传输前的音视频帧数据进行加密。

传入参数

参数名 类型 说明
data const unsigned char* 原始音视频帧数据
length unsigned int 原始音视频帧数据的长度
buf unsigned char* 可供写入的加密后数据缓冲区
buf_len unsigned int 可供写入的加密后数据缓冲区大小

返回值 加密后的数据

注意

OnDecryptData

virtual unsigned int bytertc::IEncryptHandler::OnDecryptData(
    const unsigned char* data,
    unsigned int length,
    unsigned char* buf,
    unsigned int buf_len)

自定义解密。
对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 OnEncryptData。

传入参数

参数名 类型 说明
data const unsigned char* 原始音视频帧数据
length unsigned int 原始音视频帧数据的长度
buf unsigned char* 可供写入的加密后数据缓冲区
buf_len unsigned int 可供写入的加密后数据缓冲区大小

返回值 加密后的数据

注意

IRtcEngineEventHandler

class bytertc::IRtcEngineEventHandler

音视频引擎事件回调接口。
创建 RTCEngine 实例 CreateRtcEngine 时,传入该回调实例。
详见 IRtcEngineLiteEventHandler 、IRTCRoomEventHandler

Defined in : bytertc_engine_event_handler.h

IRtcEngineLiteEventHandler

class bytertc::IRtcEngineLiteEventHandler

音视频引擎事件回调接口

Defined in : bytertc_engine_lite_event_handler.h

成员函数

返回 名称
virtual void OnWarning
virtual void OnError
virtual void OnAudioMixingStateChanged
virtual void OnAudioMixingPlayingProgress
virtual void OnLogReport
virtual void OnConnectionStateChanged
virtual void OnNetworkTypeChanged
virtual void OnPerformanceAlarms
virtual void OnAudioDeviceStateChanged
virtual void OnVideoDeviceStateChanged
virtual void OnAudioDeviceWarning
virtual void OnVideoDeviceWarning
virtual void OnSysStats
virtual void OnHttpProxyState
virtual void OnHttpsProxyState
virtual void OnSocks5ProxyState
virtual void OnRecordingStateUpdate
virtual void OnRecordingProgressUpdate
virtual void OnLoginResult
virtual void OnLogout
virtual void OnServerParamsSetResult
virtual void OnGetPeerOnlineStatus
virtual void OnUserMessageReceivedOutsideRoom
virtual void OnUserBinaryMessageReceivedOutsideRoom
virtual void OnUserMessageSendResultOutsideRoom
virtual void OnServerMessageSendResult
virtual void OnSEIMessageReceived
virtual void OnRemoteAudioPropertiesReport
virtual void OnLocalAudioPropertiesReport
virtual void OnActiveSpeaker
virtual void OnStreamSyncInfoReceived
virtual void OnNetworkDetectionResult
virtual void OnNetworkDetectionStopped
virtual void OnPlayPublicStreamResult
virtual void OnPublicStreamSEIMessageReceived
virtual void OnFirstPublicStreamVideoFrameDecoded
virtual void OnFirstPublicStreamAudioFrame

函数说明

OnWarning

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

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

传入参数

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

OnError

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

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

传入参数

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

OnAudioMixingStateChanged

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

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

传入参数

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

注意

OnAudioMixingPlayingProgress

virtual void bytertc::IRtcEngineLiteEventHandler::OnAudioMixingPlayingProgress(
    int mix_id,
    int64_t progress)

混音音频文件播放进度回调

传入参数

参数名 类型 说明
mix_id int 混音 ID
progress int64_t 当前混音音频文件播放进度,单位毫秒

注意 调用 SetAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 StartAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。

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。

OnAudioDeviceStateChanged

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

音频设备状态回调。提示音频采集、音频播放等设备设备的状态。

传入参数

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

OnVideoDeviceStateChanged

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

视频频设备状态回调。提示摄像头视频采集、屏幕视频采集等设备的状态。

传入参数

参数名 类型 说明
device_id const char* 设备 ID。采集屏幕共享流时,设备 ID 为固定字符串 screen_capture_video
device_type bytertc::RTCVideoDeviceType 设备类型,详见 RTCVideoDeviceType
device_state bytertc::MediaDeviceState 设备状态,详见 MediaDeviceState
device_error bytertc::MediaDeviceError 设备错误类型,详见 MediaDeviceError

OnAudioDeviceWarning

virtual void bytertc::IRtcEngineLiteEventHandler::OnAudioDeviceWarning(
    const char* device_id,
    bytertc::RTCAudioDeviceType device_type,
    bytertc::MediaDeviceWarning device_warning)

音频设备警告回调。音频设备包括音频采集设备和音频渲染设备。

传入参数

参数名 类型 说明
device_id const char* 设备 ID
device_type bytertc::RTCAudioDeviceType 详见 RTCAudioDeviceType
device_warning bytertc::MediaDeviceWarning 详见 MediaDeviceWarning

OnVideoDeviceWarning

virtual void bytertc::IRtcEngineLiteEventHandler::OnVideoDeviceWarning(
    const char* device_id,
    bytertc::RTCVideoDeviceType device_type,
    bytertc::MediaDeviceWarning device_warning)

视频设备警告回调,包括视频采集设备等。

传入参数

参数名 类型 说明
device_id const char* 设备 ID
device_type bytertc::RTCVideoDeviceType 详见 RTCVideoDeviceType
device_warning bytertc::MediaDeviceWarning 详见 MediaDeviceWarning

OnSysStats

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

周期性(2s)地发出回调,报告当前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

OnLoginResult

virtual void bytertc::IRtcEngineLiteEventHandler::OnLoginResult(
    const char* uid,
    int error_code,
    int elapsed)

登录结果回调

传入参数

参数名 类型 说明
uid const char* 登录用户 ID
error_code int 登录结果
详见 LoginErrorCode。
elapsed int 从调用 Login 接口开始到返回结果所用时长
单位为 ms。

注意 调用 Login 后,会收到此回调。

OnLogout

virtual void bytertc::IRtcEngineLiteEventHandler::OnLogout()

登出结果回调

注意 调用 Logout 后,会收到此回调。

OnServerParamsSetResult

virtual void bytertc::IRtcEngineLiteEventHandler::OnServerParamsSetResult(
    int error)

设置应用服务器参数的返回结果

传入参数

参数名 类型 说明
error int 设置结果
• 返回 200,设置成功
• 返回其他,设置失败

注意 调用 SetServerParams 后,会收到此回调。

OnGetPeerOnlineStatus

virtual void bytertc::IRtcEngineLiteEventHandler::OnGetPeerOnlineStatus(
    const char* peer_user_id,
    int status)

查询对端或本端用户登录状态的返回结果

传入参数

参数名 类型 说明
peer_user_id const char* 需要查询的用户 ID
status int 查询的用户登录状态
详见 USER_ONLINE_STATUS.

注意 必须先调用 GetPeerOnlineStatus,才能收到此回调。

OnUserMessageReceivedOutsideRoom

virtual void bytertc::IRtcEngineLiteEventHandler::OnUserMessageReceivedOutsideRoom(
    const char* uid,
    const char* message)

收到房间外用户调用 SendUserMessageOutsideRoom 发来的文本消息时,会收到此回调

传入参数

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

OnUserBinaryMessageReceivedOutsideRoom

virtual void bytertc::IRtcEngineLiteEventHandler::OnUserBinaryMessageReceivedOutsideRoom(
    const char* uid,
    int size,
    const uint8_t* message)

收到房间外用户调用 SendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调

传入参数

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

OnUserMessageSendResultOutsideRoom

virtual void bytertc::IRtcEngineLiteEventHandler::OnUserMessageSendResultOutsideRoom(
    int64_t msgid,
    int error)

给房间外指定的用户发送消息的回调

传入参数

参数名 类型 说明
msgid int64_t 本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
error int 消息发送结果
详见 UserMessageSendResult。

注意 当调用 SendUserMessageOutsideRoom 或 SendUserBinaryMessageOutsideRoom 发送消息后,会收到此回调。

OnServerMessageSendResult

virtual void bytertc::IRtcEngineLiteEventHandler::OnServerMessageSendResult(
    int64_t msgid,
    int error,
    const bytertc::ServerACKMsg& msg)

给应用服务器发送消息的回调

传入参数

参数名 类型 说明
msgid int64_t 本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。
error int 消息发送结果,详见 UserMessageSendResult。
message const bytertc::ServerACKMsg& msg 应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。

注意 当调用 SendServerMessage 或 SendServerBinaryMessage 发送消息后,会收到此回调。

OnSEIMessageReceived

virtual void bytertc::IRtcEngineLiteEventHandler::OnSEIMessageReceived(
    RemoteStreamKey stream_key,
    const uint8_t* message,
    int length)

收到通过 SendSEIMessage 发送的带有 SEI 消息的视频帧时,收到此回调

传入参数

参数名 类型 说明
stream_key RemoteStreamKey 包含 SEI 发送者的用户名,所在的房间名和媒体流,参看 RemoteStreamKey
message const uint8_t* 收到的 SEI 消息内容
length int 收到的 SEI 消息长度

OnRemoteAudioPropertiesReport

virtual void bytertc::IRtcEngineLiteEventHandler::OnRemoteAudioPropertiesReport(
    const RemoteAudioPropertiesInfo* audio_properties_infos,
    int audio_properties_info_number,
    int total_remote_volume)

远端用户进房后,本地调用 EnableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。

传入参数

参数名 类型 说明
audio_properties_infos const RemoteAudioPropertiesInfo* 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。
audio_properties_info_number int 数组长度
total_remote_volume int 所有订阅的远端流的总音量,范围是 [0,255]。
• [0,25] 接近无声;
• [25,75] 为低音量;
• [76,204] 为中音量;
• [205,255] 为高音量。

OnLocalAudioPropertiesReport

virtual void bytertc::IRtcEngineLiteEventHandler::OnLocalAudioPropertiesReport(
    const LocalAudioPropertiesInfo * audio_properties_infos,
    int audio_properties_info_number)

调用 EnableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。

传入参数

参数名 类型 说明
audio_properties_infos const LocalAudioPropertiesInfo* 本地音频信息,详见 LocalAudioPropertiesInfo 。
audio_properties_info_number int 数组长度

OnActiveSpeaker

virtual void bytertc::IRtcEngineLiteEventHandler::OnActiveSpeaker(
    const char* room_id,
    const char* uid)

调用 EnableAudioPropertiesReport 后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。

传入参数

参数名 类型 说明
room_id const char* 房间 ID
uid const char* 最活跃用户(ActiveSpeaker)的用户 ID

OnStreamSyncInfoReceived

virtual void bytertc::IRtcEngineLiteEventHandler::OnStreamSyncInfoReceived(
    RemoteStreamKey stream_key,
    SyncInfoStreamType stream_type,
    const uint8_t* data,
    int32_t length)

音频流同步信息回调。可以通过此回调,在远端用户调用 SendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。

传入参数

参数名 类型 说明
stream_key RemoteStreamKey 远端流信息,详见 RemoteStreamKey 。
stream_type SyncInfoStreamType 媒体流类型,详见 SyncInfoStreamType 。
data const uint8_t* 消息内容。
length int32_t 消息长度。

OnNetworkDetectionResult

virtual void bytertc::IRtcEngineLiteEventHandler::OnNetworkDetectionResult(
    NetworkDetectionLinkType type,
    NetworkQuality quality,
    int rtt,
    double lost_rate,
    int bitrate,
    int jitter)

通话前网络探测结果

传入参数

参数名 类型 说明
type NetworkDetectionLinkType 探测网络类型为上行/下行
quality NetworkQuality 探测网络的质量,值含义参考 NetworkQuality
rtt int 探测网络的 RTT,单位:ms
lost_rate double 探测网络的丢包率
bitrate int 探测网络的带宽,单位:kbps
jitter int 探测网络的抖动,单位:ms

注意 成功调用 StartNetworkDetection 接口开始探测后,会每 2s 收到一次此回调。

OnNetworkDetectionStopped

virtual void bytertc::IRtcEngineLiteEventHandler::OnNetworkDetectionStopped(
    NetworkDetectionStopReason reason)

通话前网络探测结束 以下情况将停止探测并收到本一次本回调:
1. 当调用 StopNetworkDetection 接口停止探测后,会收到一次该回调; 2. 当收到远端/本端音频首帧后,停止探测; 3. 当探测超过3分钟后,停止探测; 4. 当探测链路断开一定时间之后,停止探测。

传入参数

参数名 类型 说明
reason NetworkDetectionStopReason 停止探测的原因类型,参考 NetworkDetectionStopReason

OnPlayPublicStreamResult

virtual void bytertc::IRtcEngineLiteEventHandler::OnPlayPublicStreamResult(
    const char* public_stream_id,
    int errorCode)

订阅公共流的结果回调
通过 StartPlayPublicStream 订阅公共流后,可以通过本回调获取订阅结果。

传入参数

参数名 类型 说明
public_stream_id const char* 公共流的 ID
errorCode int 公共流订阅结果状态码。
200: 订阅成功

OnPublicStreamSEIMessageReceived

virtual void bytertc::IRtcEngineLiteEventHandler::OnPublicStreamSEIMessageReceived(
    const char* public_stream_id,
    const uint8_t* message,
    int message_length)

回调公共流中包含的 SEI 信息
通过 StartPlayPublicStream 开始播放公共流后,可以通过本回调获取公共流中包含的 SEI 信息。

传入参数

参数名 类型 说明
public_stream_id const char* 公共流 ID
message const uint8_t* SEI 信息
message_length int SEI 信息的长度

注意 当公共流中的多路视频流均包含有 SEI 信息时:SEI 不互相冲突时,将通过多次回调分别发送; SEI 在同一帧有冲突时,则只有一条流中的 SEI 信息被透传并融合到公共流中。

OnFirstPublicStreamVideoFrameDecoded

virtual void bytertc::IRtcEngineLiteEventHandler::OnFirstPublicStreamVideoFrameDecoded(
    const char* public_stream_id,
    const VideoFrameInfo& info)

公共流的首帧视频解码成功
关于订阅公共流,详见 StartPlayPublicStream。

传入参数

参数名 类型 说明
public_stream_id const char* 公共流 ID
info const VideoFrameInfo& 视频帧信息。详见 VideoFrameInfo。

OnFirstPublicStreamAudioFrame

virtual void bytertc::IRtcEngineLiteEventHandler::OnFirstPublicStreamAudioFrame(
    const char* public_stream_id)

公共流的音频首帧解码成功
关于订阅公共流,详见 StartPlayPublicStream。

传入参数

参数名 类型 说明
public_stream_id const char* 公共流 ID

IExternalVideoEncoderEventHandler

class bytertc::IExternalVideoEncoderEventHandler

自定义编码帧回调类

Defined in : bytertc_engine_lite_interface.h

成员函数

返回 名称
virtual void OnStart
virtual void OnStop
virtual void OnRateUpdate
virtual void OnRequestKeyFrame

函数说明

OnStart

virtual void bytertc::IExternalVideoEncoderEventHandler::OnStart(
    StreamIndex index)

提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 PushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧

传入参数

参数名 类型 说明
index StreamIndex 可以推送的编码流的属性,参看 StreamIndex

OnStop

virtual void bytertc::IExternalVideoEncoderEventHandler::OnStop(
    StreamIndex index)

当收到该回调时,你需停止向 SDK 推送自定义编码视频帧

传入参数

参数名 类型 说明
index StreamIndex 需停止推送的编码流的属性,参看 StreamIndex

OnRateUpdate

virtual void bytertc::IExternalVideoEncoderEventHandler::OnRateUpdate(
    StreamIndex index,
    int32_t video_index,
    VideoRateInfo info)

当自定义编码流的帧率或码率发生变化时,触发该回调

传入参数

参数名 类型 说明
index StreamIndex 发生变化的编码流的属性,参看 StreamIndex
video_index int32_t 对应编码流的下标
info VideoRateInfo 变化后的编码流信息,参看 VideoRateInfo

OnRequestKeyFrame

virtual void bytertc::IExternalVideoEncoderEventHandler::OnRequestKeyFrame(
    StreamIndex index,
    int32_t video_index)

提示流发布端需重新生成关键帧的回调

传入参数

参数名 类型 说明
index StreamIndex 远端编码流的属性,参看 StreamIndex
video_index int32_t 对应编码流的下标

ILocalEncodedVideoFrameObserver

class bytertc::ILocalEncodedVideoFrameObserver

本地视频帧监测器

Defined in : bytertc_engine_lite_interface.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

IRemoteEncodedVideoFrameObserver

class bytertc::IRemoteEncodedVideoFrameObserver

远端编码后视频数据监测器

Defined in : bytertc_engine_lite_interface.h

成员函数

返回 名称
virtual void OnRemoteEncodedVideoFrame

函数说明

OnRemoteEncodedVideoFrame

virtual void bytertc::IRemoteEncodedVideoFrameObserver::OnRemoteEncodedVideoFrame(
    const RemoteStreamKey& stream_info,
    const IEncodedVideoFrame& video_stream)

调用 RegisterRemoteEncodedVideoFrameObserver 后,SDK 监测到远端编码后视频数据时,触发该回调

传入参数

参数名 类型 说明
stream_info const RemoteStreamKey& 收到的远端流信息,参看 RemoteStreamKey
video_stream const IEncodedVideoFrame& 收到的远端视频帧信息,参看 IEncodedVideoFrame

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。

IRemotePositionInfoObserver

class bytertc::IRemotePositionInfoObserver

远端用户位置信息回调

Defined in : bytertc_position_audio_render_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 OnTokenWillExpire
virtual void OnRoomStats
virtual void OnLocalStreamStats
virtual void OnRemoteStreamStats
virtual void OnUserJoined
virtual void OnUserLeave
virtual void OnUserStartAudioCapture
virtual void OnUserStopAudioCapture
virtual void OnFirstLocalAudioFrame
virtual void OnFirstRemoteAudioFrame
virtual void OnUserPublishStream
virtual void OnUserUnPublishStream
virtual void OnUserPublishScreen
virtual void OnUserUnPublishScreen
virtual void OnStreamSubscribed
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 OnFirstRemoteVideoFrameDecoded
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
virtual void OnVideoStreamBanned
virtual void OnAudioStreamBanned
virtual void OnForwardStreamStateChanged
virtual void OnForwardStreamEvent
virtual void OnNetworkQuality
virtual void OnPushPublicStreamResult

函数说明

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 保留字段,无意义。

OnLeaveRoom

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

离开房间回调。
用户调用 LeaveRoom 方法后,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。

OnTokenWillExpire

virtual void bytertc::IRTCRoomEventHandler::OnTokenWillExpire()

Token 过期前 30 秒将触发该回调。
调用 UpdateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

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. 远端用户调用 SetUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2. 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3. 房间内隐身远端用户调用 SetUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。

传入参数

参数名 类型 说明
user_info const UserInfo& 用户信息,详见 UserInfo
elapsed int 此参数无意义

OnUserLeave

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

远端用户离开房间,或切至不可见时,本地用户会收到此事件

传入参数

参数名 类型 说明
uid const char* 离开房间,或切至不可见的的远端用户 ID。
reason UserOfflineReason 用户离开房间的原因:
• 0: 远端用户调用 LeaveRoom 主动退出房间。
• 1: 远端用户因 Token 过期或网络原因等掉线。
• 2: 远端用户调用 SetUserVisibility 切换至不可见状态。

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

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

OnUserPublishStream

virtual void bytertc::IRTCRoomEventHandler::OnUserPublishStream(
    const char* uid,
    MediaStreamType type)

房间内新增远端摄像头/麦克风采集的媒体流的回调。

传入参数

参数名 类型 说明
uid const char* 远端流发布用户的用户 ID。
type MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 PublishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeStream 订阅此流。

OnUserUnPublishStream

virtual void bytertc::IRTCRoomEventHandler::OnUserUnPublishStream(
    const char* uid,
    MediaStreamType type,
    StreamRemoveReason reason)

房间内远端摄像头/麦克风采集的媒体流移除的回调。

传入参数

参数名 类型 说明
uid const char* 移除的远端流发布用户的用户 ID。
type MediaStreamType 移除的远端流类型,参看 MediaStreamType。
reason StreamRemoveReason 远端流移除的原因,参看 StreamRemoveReason。

注意 收到该回调通知后,你可以自行选择是否调用 UnsubscribeStream 取消订阅此流。

OnUserPublishScreen

virtual void bytertc::IRTCRoomEventHandler::OnUserPublishScreen(
    const char* uid,
    MediaStreamType type)

房间内新增远端屏幕共享音视频流的回调。

传入参数

参数名 类型 说明
uid const char* 远端流发布用户的用户 ID。
type MediaStreamType 远端媒体流的类型,参看 MediaStreamType。

注意 当房间内的远端用户调用 PublishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeScreen 订阅此流。

OnUserUnPublishScreen

virtual void bytertc::IRTCRoomEventHandler::OnUserUnPublishScreen(
    const char* uid,
    MediaStreamType type,
    StreamRemoveReason reason)

房间内远端屏幕共享音视频流移除的回调。

传入参数

参数名 类型 说明
uid const char* 移除的远端流发布用户的用户 ID。
type MediaStreamType 移除的远端流类型,参看 MediaStreamType。
reason StreamRemoveReason 远端流移除的原因,参看 StreamRemoveReason。

注意 收到该回调通知后,你可以自行选择是否调用 UnsubscribeScreen 取消订阅此流。

OnStreamSubscribed

virtual void bytertc::IRTCRoomEventHandler::OnStreamSubscribed(
    SubscribeState state_code,
    const char* user_id,
    const SubscribeConfig& info)

关于订阅媒体流状态改变的回调

传入参数

参数名 类型 说明
state_code SubscribeState 订阅媒体流状态,参看 SubscribeState
user_id const char* 流发布用户的用户 ID
info const SubscribeConfig& 流的属性,参看 SubscribeConfig

注意 本地用户收到该回调的时机包括: + 调用 SubscribeStream 或 UnsubscribeStream 订阅/取消订阅指定远端摄像头音视频流后;

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* 收到的消息内容

注意 同一房间内其他用户调用 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* 收到的二进制消息内容

注意 同一房间内其他用户调用 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)

RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。

传入参数

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

注意 对于采集到的本地视频帧,你可以调用 SetLocalVideoCanvas 或 SetLocalVideoSink 在本地渲染。

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)

SDK 内部渲染成功远端视频流首帧后,收到此回调。

传入参数

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

OnFirstRemoteVideoFrameDecoded

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

SDK 接收并解码远端视频流首帧后,收到此回调。

传入参数

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

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

OnVideoStreamBanned

virtual void bytertc::IRTCRoomEventHandler::OnVideoStreamBanned(
    const char* uid,
    bool banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid const char* 被禁用/解禁的视频流用户 ID
banned bool 视频流发送状态
• true: 视频流发送被禁用
• false: 视频流发送被解禁

注意

OnAudioStreamBanned

virtual void bytertc::IRTCRoomEventHandler::OnAudioStreamBanned(
    const char* uid,
    bool banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。

传入参数

参数名 类型 说明
uid const char* 被禁用/解禁的音频流用户 ID
banned bool 音频流发送状态
• true: 音频流发送被禁用
• false: 音频流发送被解禁

注意

OnForwardStreamStateChanged

virtual void bytertc::IRTCRoomEventHandler::OnForwardStreamStateChanged(
    ForwardStreamStateInfo* infos,
    int info_count)

跨房间媒体流转发状态和错误回调

传入参数

参数名 类型 说明
infos ForwardStreamStateInfo* 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo
info_count int 数组长度,代表目标房间数

OnForwardStreamEvent

virtual void bytertc::IRTCRoomEventHandler::OnForwardStreamEvent(
    ForwardStreamEventInfo* infos,
    int info_count)

跨房间媒体流转发事件回调

传入参数

参数名 类型 说明
infos ForwardStreamEventInfo* 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo
info_count int 数组长度,代表目标房间数

OnNetworkQuality

virtual void bytertc::IRTCRoomEventHandler::OnNetworkQuality(
    const NetworkQualityStats& localQuality,
    const NetworkQualityStats* remoteQualities,
    int remoteQualityNum)

加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息

传入参数

参数名 类型 说明
localQuality const NetworkQualityStats& 本端网络质量,详见 NetworkQualityStats。
remoteQualities const NetworkQualityStats* 已订阅用户的网络质量,详见 NetworkQualityStats。
remoteQualityNum int remoteQualities 数组长度
@note 更多通话中的监测接口,详见通话中质量监测

OnPushPublicStreamResult

virtual void bytertc::IRTCRoomEventHandler::OnPushPublicStreamResult(
    const char* public_stream_id,
    int errorCode)

公共流发布结果回调。
调用 StartPushPublicStream 接口发布公共流后,启动结果通过此回调方法通知用户。

传入参数

参数名 类型 说明
public_stream_id const char* 公共流 ID
errorCode int 公共流发布结果状态码。
200: 发布成功

ITranscoderObserver

class bytertc::ITranscoderObserver

推流 Observer

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* task_id,
    StreamMixingErrorCode error,
    StreamMixingType mix_type)

转推直播状态回调

传入参数

参数名 类型 说明
event StreamMixingEvent 转推直播任务状态,参看 StreamMixingEvent
task_id const char* 转推直播任务 ID
error StreamMixingErrorCode 转推直播错误码,参看 TransCodingError。
mix_type StreamMixingType 转推直播类型,参看 StreamMixingType

OnStreamMixingVideoFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingVideoFrame(
    const char* task_id,
    IVideoFrame* video_frame)

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

传入参数

参数名 类型 说明
task_id const char* 合流任务 ID
video_frame IVideoFrame* 视频帧,参看 IVideoFrame。

注意 收到该回调的周期与视频的帧间隔一致。

OnStreamMixingAudioFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingAudioFrame(
    const char* task_id,
    IAudioFrame* audio_frame)

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

传入参数

参数名 类型 说明
task_id const char* 转推直播任务 ID
audio_frame IAudioFrame* 音频帧,参看 IAudioFrame。

注意 收到该回调的周期为每 10 毫秒一次,并且每次的音频数据量为 10 毫秒数据量。

OnStreamMixingDataFrame

virtual void bytertc::ITranscoderObserver::OnStreamMixingDataFrame(
    const char* task_id,
    IDataFrame* data_frame)

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

传入参数

参数名 类型 说明
task_id const char* 转推直播任务 ID
data_frame IDataFrame* SEI 数据

IFaceDetectionObserver

class bytertc::IFaceDetectionObserver

人脸检测结果回调观察者

Defined in : bytertc_video_effect_interface.h

成员函数

返回 名称
virtual void OnFaceDetectResult

函数说明

OnFaceDetectResult

virtual void bytertc::IFaceDetectionObserver::OnFaceDetectResult(
    const FaceDetectResult& result)

特效 SDK 进行人脸检测结果的回调。
调用 RegisterFaceDetectionObserver 注册了 IFaceDetectionObserver,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。

传入参数

参数名 类型 说明
result const FaceDetectResult& 人脸检测结果, 参看 FaceDetectResult。