public interface AVChatStateObserverLite
限定符和类型 | 方法和说明 |
---|---|
void |
onAudioDeviceChanged(int device,
java.util.Set<java.lang.Integer> set,
boolean shouldSelect)
音频设备变化
|
boolean |
onAudioFrameFilter(AVChatAudioFrame frame)
语音数据处理接口, 不要改变数据的长度.
|
void |
onCallEstablished()
会话成功建立.
|
void |
onConnectionTypeChanged(int netType)
客户端网络类型发生了变化
|
void |
onDeviceEvent(int code,
java.lang.String desc)
语音采集设备和视频采集设备事件通知
|
void |
onDisconnectServer(int code)
从服务器断开连接会收到此通知。
|
void |
onFirstVideoFrameAvailable(java.lang.String account)
用户第一帧视频数据绘制前通知.
|
void |
onFirstVideoFrameRendered(java.lang.String account)
第一帧绘制通知
|
void |
onJoinedChannel(int code,
java.lang.String audioFile,
java.lang.String videoFile,
int elapsed)
服务器连接回调
|
void |
onLeaveChannel()
退出频道.
|
void |
onLiveEvent(int event)
互动直播相关事件通知
|
void |
onNetworkQuality(java.lang.String account,
int quality,
AVChatNetworkStats stats)
网络状态发生变化
|
void |
onProtocolIncompatible(int status)
双方协议版本不兼容
|
void |
onReportSpeaker(java.util.Map<java.lang.String,java.lang.Integer> speakers,
int mixedEnergy)
汇报正在说话的用户。
|
void |
onSessionStats(AVChatSessionStats sessionStats)
实时统计信息
|
void |
onUserJoined(java.lang.String account)
用户加入频道
|
void |
onUserLeave(java.lang.String account,
int event)
用户离开频道
|
void |
onVideoFpsReported(java.lang.String account,
int fps)
用户视频画面fps更新, 需要设置参数
AVChatParameters.KEY_VIDEO_FPS_REPORTED . |
boolean |
onVideoFrameFilter(AVChatVideoFrame frame,
boolean maybeDualInput)
视频数据外部处理接口, 此接口需要同步执行.
|
boolean |
onVideoFrameFilter(VideoFrame input,
VideoFrame[] outputFrames,
VideoFilterParameter filterParameter)
视频数据外部处理接口, 此接口需要同步执行.
|
void |
onVideoFrameResolutionChanged(java.lang.String account,
int width,
int height,
int rotate)
用户画面尺寸改变通知
|
void onJoinedChannel(int code, java.lang.String audioFile, java.lang.String videoFile, int elapsed)
code
- 加入服务器结果 AVChatResCode.JoinChannelCode
audioFile
- 如果存在服务器录制,指向语音文件.videoFile
- 如果存在服务器录制,指向视频文件.elapsed
- 从下面三个相关调用处开始计算,到成功加入房间的耗时,单位msAVChatManagerLite.call2(String, AVChatType, AVChatNotifyOption, AVChatCallback)
,
AVChatManagerLite.accept2(long, AVChatCallback)
,
AVChatManagerLite.joinRoom2(String, AVChatType, AVChatCallback)
void onUserJoined(java.lang.String account)
void onUserLeave(java.lang.String account, int event)
account
- 用户IDevent
- AVChatUserQuitType
AVChatManagerLite.hangUp2(long, AVChatCallback)
,
AVChatManagerLite.leaveRoom2(String, AVChatCallback)
void onLeaveChannel()
void onProtocolIncompatible(int status)
void onDisconnectServer(int code)
void onNetworkQuality(java.lang.String account, int quality, AVChatNetworkStats stats)
account
- 用户账号quality
- 网络状态等级stats
- 网络状态信息AVChatNetworkQuality
void onCallEstablished()
void onDeviceEvent(int code, java.lang.String desc)
code
- 事件IDdesc
- 事件描述AVChatDeviceEvent
void onConnectionTypeChanged(int netType)
netType
- 当前的网络类型AVChatConnectionType
void onFirstVideoFrameAvailable(java.lang.String account)
account
- 用户账号void onFirstVideoFrameRendered(java.lang.String account)
account
- 用户账号void onVideoFrameResolutionChanged(java.lang.String account, int width, int height, int rotate)
account
- 用户账号width
- 视频宽height
- 视频高rotate
- 视频角度void onVideoFpsReported(java.lang.String account, int fps)
AVChatParameters.KEY_VIDEO_FPS_REPORTED
.account
- 用户账号fps
- 当前绘制帧率AVChatParameters.KEY_VIDEO_FPS_REPORTED
,
AVChatManagerLite.setParameter(AVChatParameters.Key, Object)
boolean onVideoFrameFilter(AVChatVideoFrame frame, boolean maybeDualInput)
frame
- 待处理数据maybeDualInput
- 如果为 true
则代表需要外部输入两路数据,
AVChatVideoFrame.data
处理后的原始数据,AVChatVideoFrame.dataMirror
处理后的镜像数据。
如果为 false
则代表仅需要外部输入一路数据,仅支持 AVChatVideoFrame.data
。
在实际使用过程中,用户需要根据自己需求来决定是否真正需要输入镜像数据,一般在使用到水印等外部处理时才会需要真正输入两路数据,其他情况可以忽略此参数。boolean onVideoFrameFilter(VideoFrame input, VideoFrame[] outputFrames, VideoFilterParameter filterParameter)
input
- 待处理数据outputFrames
- VideoFrame[0]
处理后的原始数据,VideoFrame[1]
处理后的镜像数据。
如果为 false
则代表仅需要外部输入一路数据,仅支持 VideoFrame[0]
。
在实际使用过程中,用户需要根据自己需求来决定是否真正需要输入镜像数据,一般在使用到水印等外部处理时才会需要真正输入两路数据,其他情况可以忽略此参数。filterParameter
- 待处理数据的参数boolean onAudioFrameFilter(AVChatAudioFrame frame)
AVChatParameters.KEY_AUDIO_FRAME_FILTER
.frame
- 语音帧AVChatParameters.KEY_AUDIO_FRAME_FILTER
,
AVChatManagerLite.setParameter(AVChatParameters.Key, Object)
void onAudioDeviceChanged(int device, java.util.Set<java.lang.Integer> set, boolean shouldSelect)
device
- 语音设备set
- 可选语音设备shouldSelect
- 如果为true,可以弹框选择蓝牙外放、耳机外放选项AVChatAudioDevice
void onReportSpeaker(java.util.Map<java.lang.String,java.lang.Integer> speakers, int mixedEnergy)
AVChatParameters.KEY_AUDIO_REPORT_SPEAKER
.speakers
- 用户账号和声音强度的键值对mixedEnergy
- 除去自己后,所有用户语音混音后的强度AVChatParameters.KEY_AUDIO_REPORT_SPEAKER
,
AVChatManagerLite.setParameter(AVChatParameters.Key, Object)
void onSessionStats(AVChatSessionStats sessionStats)
sessionStats
- 详细的统计信息void onLiveEvent(int event)
event
- AVChatResCode.LiveEventCode