public abstract class com.ss.bytertc.engine.handler.IRTCEngineEventHandler
音视频引擎事件回调接口
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onJoinRoomResult(
String roomId,
String uid,
int errorCode,
int joinType,
int elapsed)
首次加入房间/重连加入房间的回调。此回调表示用户调用 joinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | String | 房间 ID。 |
| uid | String | 用户 ID。 |
| errorCode | int | 用户加入房间回调的状态码。 • 0: 加入房间成功; • 非 0: 加入房间失败,具体原因参看 ErrorCode 以及 WarningCode。 |
| joinType | int | 用户加入房间的类型。 • 0: 首次加入房间。用户手动调用 joinRoom,收到加入成功。 • 1: 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。 |
| elapsed | int | 重连耗时。本地用户从连接断开到重连成功所经历的时间间隔,单位为 ms。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onWarning(
int warn)
发生警告回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告代码,详情定义见: WarningCode |
注意 该回调方法表示SDK运行时出现了(网络或媒体相关的)警告。通常情况下,SDK上报的警告信息App可以忽略,SDK会自动恢复。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onError(
int err)
当 SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误代码,参看 ErrorCode |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLeaveRoom(
RTCRoomStats stats)
离开房间成功回调。
用户调用 LeaveRoomleaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
离开房间后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备导致初始化失败。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RTCRoomStats | 本次通话的统计数据。详见 RTCRoomStats。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomStats(
RTCRoomStats stats)
房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RTCRoomStats | 当前 RtcEngine 统计数据,详见 RTCRoomStats |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSysStats(
SysStats stats)
每2秒发生回调,通知当前cpu,内存使用的信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | SysStats | cpu,内存信息。详见 SysStats 数据类型。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioVolumeIndication(
IRTCEngineEventHandler.AudioVolumeInfo[] speakers,
int totalRemoteVolume)
提示本地采集的音量信息和在房间内订阅的远端用户的音量信息。
本回调默认不开启。你可以通过调用 setAudioVolumeIndicationInterval 开启。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| speakers | IRTCEngineEventHandler.AudioVolumeInfo[] | 本地用户和订阅的远端用户的 ID 和音量。 参看 AudioVolumeInfo。 |
| totalRemoteVolume | int | speakers 中包含的所有音频音量之和,取值范围是:[0,255] |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onNetworkTypeChanged(
int type)
SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | int | 网络类型。 • -1: 网络连接类型未知。 • 0: 网络连接已断开。 • 1: 网络类型为 LAN 。 • 2: 网络类型为 Wi-Fi(包含热点)。 • 3: 网络类型为 2G 移动网络。 • 4: 网络类型为 3G 移动网络。 • 5: 网络类型为 4G 移动网络。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserJoined(
UserInfo userInfo,
int elapsed)
远端主播角色用户加入房间回调。
1.远端主播角色用户调用 joinRoom 方法加入房间时,房间内其他用户将收到该事件。
2.远端主播角色用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.远端静默观众角色用户调用 setUserRole 方法将角色切换至主播时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的主播角色用户的进房回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userInfo | UserInfo | 用户信息。参看 UserInfo。 |
| elapsed | int | 主播角色用户调用 joinRoom 加入房间到房间内其他用户收到该事件经历的时间,单位为 ms。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserLeave(
String uid,
int reason)
远端用户离开房间回调。
发生以下情形时,房间内其他用户会收到此事件:
1.远端主播角色用户调用 LeaveRoomleaveRoom 方法离开房间时。
2.远端主播角色用户调用 setUserRole 方法将角色切换至静默观众。
3.远端主播角色用户断网,且一直未恢复。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 离开房间的远端用户 ID。 |
| reason | int | 用户离开房间的原因。 • 0: 远端用户调用 LeaveRoomleaveRoom 主动退出房间,或将身份切换至静默观众。 • 1: 远端用户因网络等原因掉线。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onMuteAllRemoteVideo(
String uid,
MuteState muteState)
房间内用户暂停/恢复接收所有视频流时,房间内其他用户收到此回调。参看 muteAllRemoteVideo。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 暂停/恢复接收视频流的用户 ID。 |
| muteState | MuteState | 暂停/恢复接收视频流的状态。参看 MuteState。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMuteAudio(
String uid,
MuteState muteState)
房间内某用户调用 muteLocalAudio 改变本地音频发送状态时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 改变本地音频发送状态的用户 ID |
| muteState | MuteState | 发送状态,详见 MuteState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMuteVideo(
String uid,
MuteState muteState)
房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此回调。参看 muteLocalVideo。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 暂停/恢复发送视频流的用户 ID。 |
| muteState | MuteState | 暂停/恢复发送视频流的状态。参看 MuteState。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartVideoCapture(
String uid)
房间内的用户调用 startVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启视频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopVideoCapture(
String uid)
房间内的用户调用 stopVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭视频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStartAudioCapture(
String uid)
房间内的用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 开启音频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserStopAudioCapture(
String uid)
房间内的用户调用 stopAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 关闭音频采集的远端用户 ID |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSimulcastSubscribeFallback(
RemoteStreamSwitch event)
订因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| event | RemoteStreamSwitch | 流切换信息。详见 RemoteStreamSwitch。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalStreamStats(
LocalStreamStats stats)
反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调,每 2s 触发一次。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | LocalStreamStats | 当前 RtcEngine 统计数据,详见 LocalStreamStats |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteStreamStats(
RemoteStreamStats stats)
通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况,每 2s 触发一次。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | RemoteStreamStats | 当前 RtcEngine 统计数据,详见 RemoteStreamStats |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalAudioStateChanged(
LocalAudioStreamState state,
LocalAudioStreamError error)
本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | LocalAudioStreamState | 本地音频设备的状态,详见 LocalAudioStreamState |
| error | LocalAudioStreamError | 本地音频流状态改变时的错误码,详见 LocalAudioStreamError |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteAudioStateChanged(
RemoteStreamKey key,
RemoteAudioState state,
RemoteAudioStateChangeReason reason)
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息, 详见 RemoteStreamKey |
| state | RemoteAudioState | 远端音频流状态,详见 RemoteAudioState |
| reason | RemoteAudioStateChangeReason | 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoStateChanged(
StreamIndex streamIndex,
LocalVideoStreamState state,
LocalVideoStreamError error)
本地视频流的状态发生改变时,收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| state | LocalVideoStreamState | 本地视频流状态,参看 LocalVideoStreamState |
| error | LocalVideoStreamError | 本地视频状态改变时的错误码,参看 LocalVideoStreamError |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteVideoStateChanged(
RemoteStreamKey streamKey,
RemoteVideoState videoState,
RemoteVideoStateChangeReason videoStateReason)
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamKey | RemoteStreamKey | 远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey |
| videoState | RemoteVideoState | 远端视频流状态,参看 RemoteVideoState |
| videoStateReason | RemoteVideoStateChangeReason | 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteVideoFrameRendered(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
第一帧远端视频流在视图上渲染成功后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalVideoFrameCaptured(
StreamIndex streamIndex,
VideoFrameInfo frameInfo)
第一帧本地采集的视频/屏幕共享画面采集完成时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| VideoFrameInfo | **** | 视频信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLocalVideoSizeChanged(
StreamIndex streamIndex,
VideoFrameInfo frameInfo)
本地视频大小或旋转信息发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 流属性,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRemoteVideoSizeChanged(
RemoteStreamKey remoteStreamKey,
VideoFrameInfo frameInfo)
远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端流信息,参看 StreamIndex |
| frameInfo | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onConnectionStateChanged(
int state,
int reason)
回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState |
| reason | int | 引起信令服务器连接状态发生改变的原因,目前未启用固定为 -1 。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamAdd(
RTCStream stream)
房间内新流发布回调。
房间内的远端用户发布新的音视频流时,本地用户会收到此回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream | RTCStream | 流的属性,详见 RTCStream 数据类型。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onStreamRemove(
RTCStream stream,
StreamRemoveReason reason)
房间内远端流移除回调。
房间内的远端用户停止发布音视频流时,本地用户会收到此回调通知。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream | RTCStream | 流的属性,参看 RTCStream。 |
| reason | StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioMixingFinished()
本地音乐文件播放已结束回调。 当调用 startAudioMixing 启动的混音文件播放结束后,会触发该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioPlaybackDeviceChanged(
AudioPlaybackDevice device)
音频播放设备变化时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device | AudioPlaybackDevice | 新的音频设备,详见 AudioPlaybackDeviceCAudioPlaybackDevice |
注意 音频设备设置与音频路由策略,详见 setAudioPlaybackDevice
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstLocalAudioFrame(
StreamIndex streamIndex)
本地采集到第一帧音频帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 音频流属性, 详见 StreamIndex |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onFirstRemoteAudioFrame(
RemoteStreamKey remoteStreamKey)
接收到来自远端某音频流的第一帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| remoteStreamKey | RemoteStreamKey | 远端音频流信息, 详见 RemoteStreamKey |
注意 用户刚收到房间内每一路音频流时,都会收到该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioEffectFinished(
int soundId)
本地音效文件播放已结束回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| soundId | int | 音效ID,应用调用者维护,请保证唯一性。 |
注意 当调用 playEffect 方法开始播放指定音效文件, 音效文件播放结束后, 应用会收到该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLogReport(
String logType,
JSONObject logContent)
上报日志时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logType | String | 日志类型。 |
| logContent | JSONObject | 日志内容。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageReceived(
String uid,
String message)
接收到房间内广播消息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | String | 收到的消息内容 |
注意 1.同一房间内其他用户调用 sendRoomMessage 发送广播消息时会收到该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomBinaryMessageReceived(
String uid,
ByteBuffer message)
接收到房间内广播二进制消息的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID |
| message | ByteBuffer | 收到的二进制消息内容 |
注意 1.同一房间内其他用户调用 sendRoomBinaryMessage 发送广播消息时会收到该回调。
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onLiveTranscodingResult(
String url,
int error)
合流转推错误回调。
调用 startLiveTranscoding 接口或直接在服务端启动合流转推功能后,你会通过此回调收到启动结果和推流过程中的错误。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | String | 推流地址的 URL。 |
| error | int | 合流转推功能错误码,详见枚举类型 TranscodingError。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageReceived(
String uid,
String message)
收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID 。 |
| message | String | 收到的文本消息内容。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserBinaryMessageReceived(
String uid,
ByteBuffer message)
收到来自房间中其他用户发来的二进制消息时(P2P),会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | String | 消息发送者 ID 。 |
| message | ByteBuffer | 收到的二进制消息内容。 |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onUserMessageSendResult(
long msgid,
int error)
向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID。 |
| error | int | 文本或二进制消息发送结果,详见 UserMessageSendResult |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRoomMessageSendResult(
long msgid,
int error)
当调用 sendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| msgid | long | 本条消息的 ID |
| error | int | 消息发送结果,详见 UserMessageSendResult |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onPerformanceAlarms(
PerformanceAlarmMode mode,
String roomId,
PerformanceAlarmReason reason,
SourceWantedData data)
本地未开启发布性能回退,检测到设备性能不足时,收到此回调。
本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | PerformanceAlarmMode | 指示本地是否开启发布回退功能。参看 PerformanceAlarmMode • 当发布端未开启发布性能回退时,mode 值为 PERFORMANCE_ALARM_MODE_NORMAL。 • 当发布端开启发布性能回退时,mode 值为 PERFORMANCE_ALARM_MODE_SIMULCAST。 |
| roomId | String | • 未开启发布性能回退时,roomId 为空 • 开启发布性能回退时,roomId 是告警影响的房间 ID。 |
| reason | PerformanceAlarmReason | 告警原因,参看 PerformanceAlarmReason |
| data | SourceWantedData | 性能回退相关数据,详见 SourceWantedData。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
音频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
视频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFrameSendStateChanged(
RtcUser user,
FirstFrameSendState state)
屏幕共享流视频首帧发送状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 本地用户信息,详见 RtcUser |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
音频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onVideoFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
视频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onScreenVideoFramePlayStateChanged(
RtcUser user,
FirstFramePlayState state)
屏幕共享流视频首帧播放状态改变回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onMirrorStateChanged(
boolean mirrored)
当本地视频镜像状态改变时回调该事件。默认回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mirrored | boolean | 当前是否开启镜像。 • true: 当前本地视频状态为开启镜像; • false: 当前本地视频状态为关闭镜像。 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onMediaDeviceStateChanged(
String device_id,
int device_type,
int device_state,
int device_error)
媒体设备状态回调。提示音频采集、音频渲染、视频采集三种媒体设备的状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device_id | String | 设备id |
| device_type | int | 设备类型,详见MediaDeviceType |
| device_state | int | 设备状态,详见MediaDeviceState |
| device_error | int | 设备错误类型,详见MediaDeviceStateMediaDeviceError |
注意
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpProxyState(
int state)
HTTP 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTP 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onHttpsProxyState(
int state)
HTTPS 代理连接状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | 当前 HTTPS 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onSocks5ProxyState(
int state,
String cmd,
String proxy_address,
String local_address,
String remote_address)
SOCKS5 代理状态改变时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | int | SOCKS5 代理连接状态 |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRecordingStateUpdate(
StreamIndex type,
RecordingState state,
RecordingErrorCode errorCode,
RecordingInfo info)
获取本地录制状态回调。
该回调由 startFileRecording 或 stopFileRecording 触发。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 录制流的流属性,参看 StreamIndex |
| state | RecordingState | 录制状态,参看 RecordingState |
| errorCode | RecordingErrorCode | 录制错误码,参看 RecordingErrorCode |
| info | RecordingInfo | 录制文件的详细信息,参看 RecordingInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onRecordingProgressUpdate(
StreamIndex type,
RecordingProgress progress,
RecordingInfo info)
本地录制进度回调。
该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | StreamIndex | 录制流的流属性,参看 StreamIndex |
| progress | RecordingProgress | 录制进度,参看 RecordingProgress |
| info | RecordingInfo | 录制文件的详细信息,参看 RecordingInfo |
public void com.ss.bytertc.engine.handler.IRTCEngineEventHandler.onAudioMixingStateChanged(
int id,
AudioMixingState state,
AudioMixingError error)
音频混音文件播放状态改变时回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| id | int | 混音 ID 使用 IAudioMixingManager 相关接口时传入的唯一 ID。 |
| state | AudioMixingState | 混音状态 其混音状态可参考:AudioMixingState。 |
| error | AudioMixingError | 错误码 详见 AudioMixingError。 |
注意
public interface com.ss.bytertc.engine.handler.IRTCEncryptionHandler
加密事件回调接口
| 返回 | 名称 |
|---|---|
| byte[] | onEncryptData |
| byte[] | onDecryptData |
public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onEncryptData(
byte[] data)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | byte[] | 未加密的数据。 |
返回值 加密后的数据
public byte[] com.ss.bytertc.engine.handler.IRTCEncryptionHandler.onDecryptData(
byte[] data)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| data | byte[] | 加密过的数据。 |
返回值 解密后的数据
public interface com.ss.bytertc.engine.live.ILiveTranscodingObserver
合流转推观察者。
| 返回 | 名称 |
|---|---|
| boolean | isSupportClientPushStream |
| void | onStreamMixingEvent |
| void | onMixingAudioFrame |
| void | onMixingVideoFrame |
| void | onDataFrame |
boolean com.ss.bytertc.engine.live.ILiveTranscodingObserver.isSupportClientPushStream()
是否具有推流能力。
注意
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onStreamMixingEvent(
int eventType,
String eventData,
int error,
int mixType)
合流转推状态回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventType | int | 合流状态 |
| eventData | String | 事件参数,包含事件的状态信息 |
| error | int | 合流转推错误码,详见枚举类型 TranscodingError 。 |
| mixType | int | 合流类型,详见 StreamMixingType。 |
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onMixingAudioFrame(
byte[] audioFrame,
int frameNum)
端云一体合流音频 PCM 回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | byte[] | PCM 合流音频数据帧 |
| frameNum | int | PCM 音频数据采样点数 |
注意
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onMixingVideoFrame(
VideoFrame VideoFrame)
端云一体合流视频 YUV 回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| VideoFrame | **** | YUV 合流视频数据帧,参看:org.webrtc.VideoFrame |
注意
void com.ss.bytertc.engine.live.ILiveTranscodingObserver.onDataFrame(
byte[] dataFrame,
long time)
端云一体合流视频 SEI 数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| dataFrame | byte[] | SEI 数据 |
| time | long | 时间信息 |
public interface com.ss.bytertc.engine.loader.RTCNativeLibraryLoader
用户自定义动态库加载器实现
| 返回 | 名称 |
|---|---|
| boolean | load |
boolean com.ss.bytertc.engine.loader.RTCNativeLibraryLoader.load(
String libraryName)
SDK在需要加载动态库时通过该方法回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| libraryName | String | 要加载的动态库名称 |
public interface com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver
本地视频帧监测器
| 返回 | 名称 |
|---|---|
| void | onLocalEncodedVideoFrame |
void com.ss.bytertc.engine.mediaio.ILocalEncodedVideoFrameObserver.onLocalEncodedVideoFrame(
StreamIndex streamIndex,
RTCEncodedVideoFrame encodedVideoFrame)
调用 registerLocalEncodedVideoFrameObserver 后,SDK 收到本地视频帧信息时,回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamIndex | StreamIndex | 本地视频帧类型,参看 StreamIndex |
| encodedVideoFrame | RTCEncodedVideoFrame | 本地视频帧信息,参看 RTCEncodedVideoFrame |
public interface com.ss.bytertc.engine.IAudioFrameObserver
音频数据回调观察者
| 返回 | 名称 |
|---|---|
| void | onRecordAudioFrame |
| void | onPlaybackAudioFrame |
| void | onMixedAudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onRecordAudioFrame(
AudioFrame audioFrame)
返回麦克风录制的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 麦克风录制的音频数据, 详见:AudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onPlaybackAudioFrame(
AudioFrame audioFrame)
返回远端所有用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 远端所有用户混音后的音频数据, 详见:AudioFrame |
void com.ss.bytertc.engine.IAudioFrameObserver.onMixedAudioFrame(
AudioFrame audioFrame)
返回本地麦克风录制和远端所有用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 本地麦克风录制和远端所有用户混音后的音频数据, 详见:AudioFrame |
public interface com.ss.bytertc.engine.IMetadataObserver
metadata 观察者,可以接收媒体流中的 metadata, 或者向媒体流中添加 metadata
| 返回 | 名称 |
|---|---|
| void | onMetadataReceived |
| byte[] | onReadyToSendMetadata |
public void com.ss.bytertc.engine.IMetadataObserver.onMetadataReceived(
byte[] buffer,
String uid,
long timeStampMs)
当SDK收到的视频帧包含 medatada时,会回调该接口
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| buffer | byte[] | metadata |
| uid | String | 当前帧所属的用户ID |
| timeStampMs | long | 包含 metadata 视频帧的时间戳,单位为毫秒 |
注意 回调中不能有耗时操作,以免影响视频卡顿
public byte[] com.ss.bytertc.engine.IMetadataObserver.onReadyToSendMetadata(
long timeStampMs)
当SDK准备发送一个视频帧时,会回调该接口,向你询问是否需要在该视频帧中添加 metadata
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timeStampMs | long | 待添加 metadata 视频帧的时间戳, 单位毫秒 |
返回值 byte[] 待发送的数据,大小不能超过1024bytes
注意