Android移动端音视频的快速开发教程(四)
3.2.
状态变化事件接口
状态变化事件接口定义在“AnyChatStateChgEvent.java”接口类中包含了SDK的用户视频设备状态、音频设备状态、用户聊天模式切换、P2P连接状态变化等异步事件的通知。
3.2.1.
接口定义
package com.bairuitech.anychat;
// AnyChat状态变化事件通知接口
public interface AnyChatStateChgEvent {
public void OnAnyChatMicStateChgMessage(INT UserId, boolean bOpenMic);
public void OnAnyChatCameraStateChgMessage(INT UserId, INT State);
public void OnAnyChatChatModeChgMessage(INT UserId, int bPublicChat);
public void OnAnyChatActiveStateChgMessage(INT UserId, INT State);
public void OnAnyChatP2PConnectStateMessage(INT UserId, INT State);
}
第 16 页 共 51 页
AnyChat for Android SDK 开发手册 佰锐科技 版权所有
3.2.2.
音频设备状态改变事件
public void OnAnyChatMicStateChgMessage(int dwUserId, boolean bOpenMic)
参数:
dwUserId 表示状态变化的用户ID
bOpenMic 表示该用户是否已打开音频采集设备
说明:当进入房间成功之后,当用户使用API:UserSpeakControl操作本地音频设备时将会触发该接口,等同于WIN32平台的WM_GV_MICSTATECHANGE消息。
3.2.3.
视频设备状态改变事件
public void OnAnyChatCameraStateChgMessage(int dwUserId, int dwState)
参数:
dwUserId 表示状态变化的用户ID
dwState 表示该用户当前的视频设备状态:
0 没有摄像头设备
1 有摄像头设备,但没有打开
2 已打开摄像头设备
说明:当进入房间成功之后,当用户使用API:UserCameraControl操作本地视频设备时将会触发该接口,等同于WIN32平台的WM_GV_CAMERASTATE消息。
3.2.4.
用户聊天模式改变事件
public void OnAnyChatChatModeChgMessage(int dwUserId, boolean bPublicChat)
参数:
dwUserId 表示状态变化的用户ID
bPublicChat 表示该用户当前是否为公聊状态,否则为私聊状态:
说明:当进入房间成功之后,当用户改变聊天模式时将会触发该接口,等同于WIN32平台的WM_GV_CHATMODECHG消息。
第 17 页 共 51 页
AnyChat for Android SDK 开发手册 佰锐科技 版权所有
3.2.5.
用户P2P连接改变事件
public void OnAnyChatP2PConnectStateMessage(int dwUserId, int dwState)
参数:
dwUserId 表示其它用户ID号
dwState 表示本地用户与其它用户的当前P2P网络连接状态:
0 没有任何连接
1 P2P连接成功,TCP连接
2 P2P连接成功,UDP连接
3 P2P连接成功,TCP与UDP连接
说明:当进入房间成功之后,与其它用户建立P2P连接,或是P2P连接被断开时触发该接口,等同于WIN32平台的WM_GV_P2PCONNECTSTATE消息。
3.2.6.
用户视频大小改变事件
public void OnAnyChatVideoSizeChgMessage(int dwUserId, int dwWidth, int dwHeight)
参数:
dwUserId 表示状态变化的用户ID
dwWidth 表示该用户当前的视频宽度
dwHeight 表示该用户当前的视频高度
说明:当进入房间成功之后,成功打开本地视频设备,或是修改视频设备采集分辨率之后将触发该接口,等同于WIN32平台的WM_GV_VIDEOSIZECHG消息。