class bytertc::ILocalEncodedVideoFrameObserver
本地视频帧监测器
Defined in : bytertc_advance.h
| 返回 | 名称 |
|---|---|
| virtual | ~ILocalEncodedVideoFrameObserver |
| virtual void | OnLocalEncodedVideoFrame |
virtual bytertc::ILocalEncodedVideoFrameObserver::~ILocalEncodedVideoFrameObserver()
析构函数
virtual void bytertc::ILocalEncodedVideoFrameObserver::OnLocalEncodedVideoFrame(
StreamIndex type,
const IEncodedVideoFrame& video_stream)
调用 RegisterLocalEncodedVideoFrameObserver 后,SDK 收到本地视频帧信息时,回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 本地视频帧类型,参看 StreamIndex |
| video_stream | const IEncodedVideoFrame& | 本地视频帧信息,参看 IEncodedVideoFrame |
class bytertc::IRtcEngineLiteEventHandler
音视频引擎事件回调接口
Defined in : bytertc_engine_lite_event_handler.h
| 返回 | 名称 |
|---|---|
| virtual void | OnWarning |
| virtual void | OnError |
| virtual void | OnAudioMixingStateChanged |
| 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 |
| 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 bytertc::IRtcEngineLiteEventHandler::OnWarning(
int warn)
当内部发生警告事件时触发该回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告标识码,详见:WarningCode |
virtual void bytertc::IRtcEngineLiteEventHandler::OnError(
int err)
当 SDK 内部发生不可逆转错误时触发该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误标识码,参看 ErrorCode |
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 |
注意
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* | 端监控日志内容。 |
virtual void bytertc::IRtcEngineLiteEventHandler::OnConnectionStateChanged(
bytertc::ConnectionState state)
SDK 与信令服务器连接状态改变回调。连接状态改变时触发。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | bytertc::ConnectionState | 当前 SDK 与信令服务器的连接状态,详见 ConnectionState |
virtual void bytertc::IRtcEngineLiteEventHandler::OnNetworkTypeChanged(
bytertc::NetworkType type)
SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | bytertc::NetworkType | SDK 当前的网络连接类型,详见:NetworkType 。 |
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。 |
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 |
注意
virtual void bytertc::IRtcEngineLiteEventHandler::OnSysStats(
const bytertc::SysStats& stats)
周期性地发出回调,报告当前cpu与memory使用率
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | const bytertc::SysStats& | 返回包含当前系统状态信息的结构体,详见 SysStats |
virtual void bytertc::IRtcEngineLiteEventHandler::OnHttpProxyState(
int state)
HTTP 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTP 代理连接状态,详见 HttpProxyState |
virtual void bytertc::IRtcEngineLiteEventHandler::OnHttpsProxyState(
int state)
HTTPS 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTPS 代理连接状态,详见 HttpProxyState |
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* | 远端的连接地址 |
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 |
virtual void bytertc::IRtcEngineLiteEventHandler::OnRecordingProgressUpdate(
StreamIndex type,
RecordingProgress process,
RecordingInfo info)
本地录制进度回调。
该回调由 StartFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 录制流的流属性,参看 StreamIndex |
| process | RecordingProgress | 录制进度,参看 RecordingProgress |
| info | RecordingInfo | 录制文件的详细信息,参看 RecordingInfo |
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 后,会收到此回调。
virtual void bytertc::IRtcEngineLiteEventHandler::OnLogout()
登出结果回调
注意 调用 Logout 后,会收到此回调。
virtual void bytertc::IRtcEngineLiteEventHandler::OnServerParamsSetResult(
int error)
设置业务服务器参数的返回结果
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| error | int | 设置结果 • 返回 200,设置成功 • 返回其他,设置失败 |
注意 调用 SetServerParams 后,会收到此回调。
virtual void bytertc::IRtcEngineLiteEventHandler::OnGetPeerOnlineStatus(
const char* peer_user_id,
int status)
查询对端或本端用户登录状态的返回结果
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| peer_user_id | const char* | 需要查询的用户 ID |
| status | int | 查询的用户登录状态 详见 USER_ONLINE_STATUS. |
注意 必须先调用 GetPeerOnlineStatus,才能收到此回调。
virtual void bytertc::IRtcEngineLiteEventHandler::OnUserMessageReceivedOutsideRoom(
const char* uid,
const char* message)
收到房间外用户调用 SendUserMessageOutsideRoom 发来的文本消息时,会收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 消息发送者 ID |
| message | const char* | 收到的文本消息内容 |
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* | 收到的二进制消息内容 |
virtual void bytertc::IRtcEngineLiteEventHandler::OnUserMessageSendResultOutsideRoom(
int64_t msgid,
int error)
给房间外指定的用户发送消息的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | int64_t | 本条消息的 ID 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
| error | int | 消息发送结果 详见 UserMessageSendResult。 |
注意 当调用 SendUserMessageOutsideRoom 或 SendUserBinaryMessageOutsideRoom 发送消息后,会收到此回调。
virtual void bytertc::IRtcEngineLiteEventHandler::OnServerMessageSendResult(
int64_t msgid,
int error)
给业务服务器发送消息的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | int64_t | 本条消息的 ID 所有的 P2P 和 P2Server 消息共用一个 ID 序列。 |
| error | int | 消息发送结果 详见 UserMessageSendResult。 |
注意 当调用 SendServerMessage 或 SendServerBinaryMessage 接口发送消息后,会收到此回调。
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 消息长度 |
class bytertc::IAudioFrameObserver
音频数据回调观察者
Defined in : bytertc_engine_lite_interface.h
| 返回 | 名称 |
|---|---|
| virtual void | OnRecordAudioFrame |
| virtual void | OnPlaybackAudioFrame |
| virtual void | OnMixedAudioFrame |
virtual void bytertc::IAudioFrameObserver::OnRecordAudioFrame(
const AudioFrame& audio_frame)
返回麦克风录制的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio_frame | const AudioFrame& | 麦克风录制的音频数据, 详见:AudioFrame |
virtual void bytertc::IAudioFrameObserver::OnPlaybackAudioFrame(
const AudioFrame& audio_frame)
返回远端所有用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio_frame | const AudioFrame& | 远端所有用户混音后的音频数据, 详见:AudioFrame |
virtual void bytertc::IAudioFrameObserver::OnMixedAudioFrame(
const AudioFrame& audio_frame)
返回本地麦克风录制和远端所有用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio_frame | const AudioFrame& | 本地麦克风录制和远端所有用户混音后的音频数据, 详见:AudioFrame |
class bytertc::IVideoFrameObserver
视频数据回调对象
Defined in : bytertc_engine_lite_interface.h
| 返回 | 名称 |
|---|---|
| virtual bool | OnLocalScreenFrame |
| virtual bool | OnLocalVideoFrame |
| virtual bool | OnRemoteScreenFrame |
| virtual bool | OnRemoteVideoFrame |
virtual bool bytertc::IVideoFrameObserver::OnLocalScreenFrame(
IVideoFrame* videoFrame)
本地屏幕视频流采集成功后,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoFrame | IVideoFrame* | 视频数据,参看 IVideoFrame。 |
返回值
注意 对于回调的视频数据,你可以进行自定义渲染。
virtual bool bytertc::IVideoFrameObserver::OnLocalVideoFrame(
IVideoFrame* videoFrame)
本地视频流数据回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoFrame | IVideoFrame* | 视频数据,参看 IVideoFrame。 |
返回值
virtual bool bytertc::IVideoFrameObserver::OnRemoteScreenFrame(
const char* roomid,
const char* uid,
IVideoFrame* videoFrame)
远端屏幕共享流数据回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomid | const char* | 房间 ID。 |
| uid | const char* | 远端用户 ID。 |
| videoFrame | IVideoFrame* | 视频数据,参看 IVideoFrame。 |
返回值
virtual bool bytertc::IVideoFrameObserver::OnRemoteVideoFrame(
const char* roomid,
const char* uid,
IVideoFrame* videoFrame)
远端视频数据回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomid | const char* | 房间 ID。 |
| uid | const char* | 远端用户 ID。 |
| videoFrame | IVideoFrame* | 视频数据,参看 IVideoFrame}。 |
返回值
class bytertc::IRTCRoomEventHandler
音视频房间事件回调接口
Defined in : bytertc_room_event_handler_interface.h
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 |
virtual void bytertc::IRTCRoomEventHandler::OnLeaveRoom(
const RtcRoomStats& stats)
离开房间回调。
用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有与通话相关的音视频资源后,通过此回调通知用户离开房间成功。
离开房间后,如果 App 需要使用系统音视频设备,则建议收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备而导致初始化失败。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | const RtcRoomStats& | 本次通话的统计数据,参看 RtcRoomStats 。 |
注意
virtual void bytertc::IRTCRoomEventHandler::OnRoomWarning(
int warn)
SDK 发生警告回调。
SDK 内部遇到可恢复错误时,在尝试自动恢复的同时,会通过此回调通知用户。此回调事件仅用作通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告码,参看 WarningCode。 |
virtual void bytertc::IRTCRoomEventHandler::OnRoomError(
int err)
SDK 发生错误回调。
SDK 内部遇到不可恢复错误时,会通过此回调通知 App,需要 App 根据错误码进行操作或提示用户。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误码,参看 ErrorCode。 |
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] |
注意
virtual void bytertc::IRTCRoomEventHandler::OnRoomStats(
const RtcRoomStats& stats)
房间内通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | const RtcRoomStats& | 当前 RtcEngine 统计数据,详见 RtcRoomStats |
virtual void bytertc::IRTCRoomEventHandler::OnLocalStreamStats(
const LocalStreamStats& stats)
反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调,每 2s 触发一次。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | const LocalStreamStats& | 当前 RtcEngine 统计数据,详见 LocalStreamStats |
virtual void bytertc::IRTCRoomEventHandler::OnRemoteStreamStats(
const RemoteStreamStats& stats)
通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况,每 2s 触发一次。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | const RemoteStreamStats& | 当前 RtcEngine 统计数据,详见 RemoteStreamStats |
virtual void bytertc::IRTCRoomEventHandler::OnUserJoined(
const UserInfo& user_info,
int elapsed)
远端可见用户加入房间,或房内隐身用户切换为可见的回调。
1. 远端用户调用 SetUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2. 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3. 房间内隐身远端用户调用 SetUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_info | const UserInfo& | 用户信息,详见 UserInfo |
| elapsed | int | 此参数无意义 |
virtual void bytertc::IRTCRoomEventHandler::OnUserLeave(
const char* uid,
UserOfflineReason reason)
远端可见用户离开房间,或从可见切换为隐身的回调。
发生以下情形时,房间内其他用户会收到此事件:
1. 远端可见用户调用 LeaveRoom 方法离开房间时;
2. 远端可见用户调用 SetUserVisibility 方法切换至隐身;
3. 远端可见用户断网,且一直未恢复。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 离开房间,或切至隐身的远端用户 ID。 |
| reason | UserOfflineReason | 用户离开房间的原因,参看 UserOfflineReason 。 |
virtual void bytertc::IRTCRoomEventHandler::OnUserMuteAudio(
const char* user_id,
MuteState mute_state)
房间内某用户调用 MuteLocalAudio 改变本地音频发送状态时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_id | const char* | 改变本地音频发送状态的用户 ID |
| mute_state | MuteState | 发送状态,参看 MuteState |
virtual void bytertc::IRTCRoomEventHandler::OnUserStartAudioCapture(
const char* user_id)
房间内的用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_id | const char* | 开启音频采集的远端用户 ID |
virtual void bytertc::IRTCRoomEventHandler::OnUserStopAudioCapture(
const char* user_id)
房间内的用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_id | const char* | 关闭音频采集的远端用户 ID |
virtual void bytertc::IRTCRoomEventHandler::OnFirstLocalAudioFrame(
StreamIndex index)
本地采集到第一帧音频帧时,收到该回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 音频流属性, 参看 StreamIndex |
virtual void bytertc::IRTCRoomEventHandler::OnFirstRemoteAudioFrame(
const RemoteStreamKey& key)
接收到来自远端某音频流的第一帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | const RemoteStreamKey& | 远端音频流信息, 详见 RemoteStreamKey |
注意 用户刚收到房间内每一路音频流时,都会收到该回调。
virtual void bytertc::IRTCRoomEventHandler::OnStreamRemove(
const MediaStreamInfo& stream,
StreamRemoveReason reason)
房间内的远端用户停止发布音视频流时,本地用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream | const MediaStreamInfo& | 流的属性。参看 MediaStreamInfo 。 |
| reason | StreamRemoveReason | 远端流移除的原因。参看 StreamRemoveReason 。 |
virtual void bytertc::IRTCRoomEventHandler::OnStreamAdd(
const MediaStreamInfo& stream)
房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调。包括移除后又重新发布的流。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream | const MediaStreamInfo& | 流属性,参看 MediaStreamInfo 。 |
virtual void bytertc::IRTCRoomEventHandler::OnSimulcastSubscribeFallback(
const RemoteStreamSwitch& event)
因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| event | const RemoteStreamSwitch& | 流切换信息。详见 RemoteStreamSwitch。 |
注意
virtual void bytertc::IRTCRoomEventHandler::OnRoomMessageReceived(
const char* uid,
const char* message)
接收到房间内广播消息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 消息发送者 ID |
| message | const char* | 收到的消息内容 |
注意 同一房间内其他用户调用 SendRoomMessage 发送广播消息时会收到该回调。
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 发送二进制广播消息时会收到该回调。
virtual void bytertc::IRTCRoomEventHandler::OnUserMessageReceived(
const char* uid,
const char* message)
收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 消息发送者 ID 。 |
| message | const char* | 收到的文本消息内容。 |
注意
virtual void bytertc::IRTCRoomEventHandler::OnUserBinaryMessageReceived(
const char* uid,
int size,
const uint8_t* message)
单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 消息发送者 ID 。 |
| message | const uint8_t* | 收到的二进制消息内容。 |
注意
virtual void bytertc::IRTCRoomEventHandler::OnUserMessageSendResult(
int64_t msgid,
int error)
向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | int64_t | 本条消息的 ID。 |
| error | int | 文本或二进制消息发送结果,详见 UserMessageSendResult |
注意
virtual void bytertc::IRTCRoomEventHandler::OnRoomMessageSendResult(
int64_t msgid,
int error)
当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | int64_t | 本条消息的 ID |
| error | int | 消息发送结果 详见 RoomMessageSendResult |
virtual void bytertc::IRTCRoomEventHandler::OnFirstLocalVideoFrameCaptured(
StreamIndex index,
VideoFrameInfo info)
RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 流属性。参看 StreamIndex。 |
| info | VideoFrameInfo | 视频信息。参看 VideoFrameInfo。 |
注意 对于采集到的本地视频帧,你可以调用 SetLocalVideoCanvas 或 SetLocalVideoSink 在本地渲染。
virtual void bytertc::IRTCRoomEventHandler::OnLocalVideoSizeChanged(
StreamIndex index,
const VideoFrameInfo& info)
本地视频大小或旋转配置发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 流属性。参看 StreamIndex。 |
| info | const VideoFrameInfo& | 视频帧信息。参看 VideoFrameInfo。 |
virtual void bytertc::IRTCRoomEventHandler::OnRemoteVideoSizeChanged(
RemoteStreamKey key,
const VideoFrameInfo& info)
远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息。参看 RemoteStreamKey。 |
| info | const VideoFrameInfo& | 视频帧信息。参看 VideoFrameInfo。 |
virtual void bytertc::IRTCRoomEventHandler::OnFirstRemoteVideoFrameRendered(
const RemoteStreamKey key,
const VideoFrameInfo& info)
第一帧远端视频流在视图上渲染成功后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | const RemoteStreamKey | 远端流信息。参看 RemoteStreamKey。 |
| info | const VideoFrameInfo& | 视频帧信息。参看 VideoFrameInfo。 |
virtual void bytertc::IRTCRoomEventHandler::OnUserMuteVideo(
const char* uid,
MuteState mute)
房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。参看 MuteLocalVideo。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | const char* | 暂停/恢复发送视频流的用户 ID。 |
| mute | MuteState | 暂停/恢复发送视频流的状态。参看 MuteState。 |
virtual void bytertc::IRTCRoomEventHandler::OnUserStartVideoCapture(
const char* user_id)
房间内的用户调用 StartVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_id | const char* | 开启视频采集的远端用户 ID |
virtual void bytertc::IRTCRoomEventHandler::OnUserStopVideoCapture(
const char* user_id)
房间内的用户调用 StopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user_id | const char* | 关闭视频采集的远端用户 ID |
virtual void bytertc::IRTCRoomEventHandler::OnLocalAudioStateChanged(
LocalAudioStreamState state,
LocalAudioStreamError error)
本地音频的状态发生改变时,该回调通知当前的本地音频状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | LocalAudioStreamState | 本地音频设备的状态,详见: LocalAudioStreamState |
| error | LocalAudioStreamError | 本地音频状态改变时的错误码,详见:LocalAudioStreamError |
virtual void bytertc::IRTCRoomEventHandler::OnRemoteAudioStateChanged(
const RemoteStreamKey& key,
RemoteAudioState state,
RemoteAudioStateChangeReason reason)
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | const RemoteStreamKey& | 远端流信息, 参看 RemoteStreamKey |
| state | RemoteAudioState | 远端音频流状态,参看 RemoteAudioState |
| reason | RemoteAudioStateChangeReason | 远端音频流状态改变的原因,参看 RemoteAudioStateChangeReason |
virtual void bytertc::IRTCRoomEventHandler::OnLocalVideoStateChanged(
StreamIndex index,
LocalVideoStreamState state,
LocalVideoStreamError error)
本地视频流的状态发生改变时,收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 音/视频属性,参看 StreamIndex |
| state | LocalVideoStreamState | 本地视频流状态,参看 LocalVideoStreamState |
| error | LocalVideoStreamError | 本地视频状态改变时的错误码,参看 LocalVideoStreamError |
virtual void bytertc::IRTCRoomEventHandler::OnRemoteVideoStateChanged(
RemoteStreamKey key,
RemoteVideoState state,
RemoteVideoStateChangeReason reason)
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端视频流的信息,房间、用户 ID、流属性等。参看 RemoteStreamKey。 |
| state | RemoteVideoState | 远端视频流状态,参看 RemoteVideoState。 |
| reason | RemoteVideoStateChangeReason | 远端视频流状态改变的原因,参看 RemoteVideoStateChangeReason。 |
virtual void bytertc::IRTCRoomEventHandler::OnAudioFrameSendStateChanged(
const RtcUser& user,
FirstFrameSendState state)
音频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
virtual void bytertc::IRTCRoomEventHandler::OnVideoFrameSendStateChanged(
const RtcUser& user,
FirstFrameSendState state)
视频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
virtual void bytertc::IRTCRoomEventHandler::OnScreenVideoFrameSendStateChanged(
const RtcUser& user,
FirstFrameSendState state)
屏幕共享流视频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
virtual void bytertc::IRTCRoomEventHandler::OnAudioFramePlayStateChanged(
const RtcUser& user,
FirstFramePlayState state)
音频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
virtual void bytertc::IRTCRoomEventHandler::OnVideoFramePlayStateChanged(
const RtcUser& user,
FirstFramePlayState state)
视频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
virtual void bytertc::IRTCRoomEventHandler::OnScreenVideoFramePlayStateChanged(
const RtcUser& user,
FirstFramePlayState state)
屏幕共享流视频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | const RtcUser& | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
class bytertc::ITranscoderObserver
推流 Observer
Defined in : bytertc_transcoder_interface.h
| 返回 | 名称 |
|---|---|
| virtual void | OnStreamMixingEvent |
| virtual void | OnStreamMixingVideoFrame |
| virtual void | OnStreamMixingAudioFrame |
| virtual void | OnStreamMixingDataFrame |
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 | 合流类型 |
virtual void bytertc::ITranscoderObserver::OnStreamMixingVideoFrame(
IVideoFrame* video_frame)
合流视频回调,运行在视频回调线程 @author wanghaoxu
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| videoFrame | IVideoFrame* video_frame | 视频帧 |
virtual void bytertc::ITranscoderObserver::OnStreamMixingAudioFrame(
IAudioFrame* audio_frame)
合流音频回调,运行在音频回调线程 @author wanghaoxu
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | IAudioFrame* audio_frame | 音频帧 |
virtual void bytertc::ITranscoderObserver::OnStreamMixingDataFrame(
IDataFrame* data_frame)
视频SEI帧回调,运行在视频回调线程 @author wanghaoxu
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| dataFrame | IDataFrame* data_frame | SEI 数据 |