package com.bairuitech.anychat; // 不能修改包的名称
import java.lang.ref.WeakReference;
import android.view.Surface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
public class AnyChatCoreSDK
{
AnyChatBaseEvent baseEvent;
AnyChatStateChgEvent stateChgEvent;
AnyChatPrivateChatEvent privateChatEvent;
AnyChatTextMsgEvent textMsgEvent;
AnyChatTransDataEvent transDataEvent;
static MainHandler mHandler;
static AnyChatAudioHelper mAudioHelper;
public static AnyChatCameraHelper mCameraHelper = new AnyChatCameraHelper();
public AnyChatSensorHelper mSensorHelper = new AnyChatSensorHelper();
public AnyChatVideoHelper mVideoHelper = new AnyChatVideoHelper();
private static int HANDLE_TYPE_NOTIFYMSG = 1; // 消息通知
private static int HANDLE_TYPE_TEXTMSG = 2; // 文字信息
private static int HANDLE_TYPE_TRANSFILE = 3; // 文件传输
private static int HANDLE_TYPE_TRANSBUF = 4; // 缓冲区传输
private static int HANDLE_TYPE_TRANSBUFEX = 5; // 扩展缓冲区传输
private static int HANDLE_TYPE_SDKFILTER = 6; // SDK Filter Data
// 设置AnyChat基本事件通知接口
public void SetBaseEvent(AnyChatBaseEvent e)
{
mHandler = new MainHandler(this);
RegisterNotify();
this.baseEvent = e;
}
// 设置AnyChat状态变化事件通知接口
public void SetStateChgEvent(AnyChatStateChgEvent e)
{
RegisterNotify();
this.stateChgEvent = e;
}
// 设置AnyChat私聊消息通知接口
public void SetPrivateChatEvent(AnyChatPrivateChatEvent e)
{
RegisterNotify();
this.privateChatEvent = e;
}
// 设置文字聊天消息通知接口
public void SetTextMessageEvent(AnyChatTextMsgEvent e)
{
RegisterNotify();
this.textMsgEvent = e;
}
// 设置数据传输消息通知接口
public void SetTransDataEvent(AnyChatTransDataEvent e)
{
RegisterNotify();
this.transDataEvent = e;
}
// 查询SDK主版本号
public int GetSDKMainVersion()
{
return GetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_MAINVERSION);
}
// 查询SDK从版本号
public int GetSDKSubVersion()
{
return GetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_SUBVERSION);
}
// 查询SDK编译时间
public String GetSDKBuildTime()
{
return GetSDKOptionString(AnyChatDefine.BRAC_SO_CORESDK_BUILDTIME);
}
// 注册消息通知
public native int RegisterNotify();
// 初始化SDK
public native int InitSDK(int osver, int flags);
// 连接服务器
public native int Connect(String serverip, int port);
// 登录系统
public native int Login(String username, String password);
// 进入房间(房间ID)
public native int EnterRoom(int roomid, String password);
// 进入房间(房间名称)
public native int EnterRoomEx(String roomname, String password);
// 退出房间
public native int LeaveRoom(int roomid);
// 注销登录
public native int Logout();
// 释放资源
public native int Release();
// 获取在线用户列表
public native int[] GetOnlineUser();
// 设置视频显示位置
public native int SetVideoPos(int userid, Surface s, int lef, int top, int right, int bottom);
// 用户摄像头控制
public native int UserCameraControl(int userid, int bopen);
// 用户音频控制
public native int UserSpeakControl(int userid, int bopen);
// 获取指定用户的字符串类型状态
public native String QueryUserStateString(int userid, int infoname);
// 获取指定用户的整型状态
public native int QueryUserStateInt(int userid, int infoname);
// 获取指定用户的说话音量(0 ~ 100)
public native int GetUserSpeakVolume(int userid);
// 获取指定用户的摄像头状态
public native int GetCameraState(int userid);
// 获取指定用户的音频设备状态
public native int GetSpeakState(int userid);
// 获取指定用户的视频分辨率宽度
public native int GetUserVideoWidth(int userid);
// 获取指定用户的视频分辨率高度
public native int GetUserVideoHeight(int userid);
// 设置服务器认证密码
public native int SetServerAuthPass(String Password);
// 设置SDK参数(整型值)
public static native int SetSDKOptionInt(int optname, int optvalue);
// 设置SDK参数(字符串值)
public native int SetSDKOptionString(int optname, String optvalue);
// 查询SDK参数(整型值)
public static native int GetSDKOptionInt(int optname);
// 查询SDK参数(字符串值)
public native String GetSDKOptionString(int optname);
// 发送文字消息
public native int SendTextMessage(int userid, int secret, String message);
// 传送文件
public native int TransFile(int userid, String filepath, int wparam, int lparam, int flags);
// 透明通道传送缓冲区
public native int TransBuffer(int userid, byte[] buf, int len);
// 透明通道传送缓冲区扩展
public native int TransBufferEx(int userid, byte[] buf, int len, int wparam, int lparam, int flags);
// 终止传输任务
public native int CancelTransTask(int userid, int taskid);
// 查询传输任务状态
public native int QueryTransTaskInfo(int userid, int taskid, int infoname);
// 发送SDK Filter 通信数据
public native int SendSDKFilterData(byte[] buf, int len);
// 获取音频播放数据
public static native byte[] FetchAudioPlayBuffer(int size);
// 本地视频自动对焦
public void CameraAutoFocus()
{
SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FOCUSCTRL, 1);
}
// 查询指定用户名称
public String GetUserName(int userid)
{
return QueryUserStateString(userid, AnyChatDefine.BRAC_USERSTATE_NICKNAME);
}
// 查询指定用户互联网IP地址
public String GetUserIPAddr(int userid)
{
return QueryUserStateString(userid, AnyChatDefine.BRAC_USERSTATE_INTERNETIP);
}
// 枚举本地视频采集设备
public native String[] EnumVideoCapture();
// 选择指定的视频采集设备
public native int SelectVideoCapture(String devicename);
// 获取当前使用的视频采集设备
public native String GetCurVideoCapture();
// 枚举本地音频采集设备
public native String[] EnumAudioCapture();
// 选择指定的音频采集设备
public native int SelectAudioCapture(String devicename);
// 获取当前使用的音频采集设备
public native String GetCurAudioCapture();
// 枚举本地音频播放设备
public native String[] EnumAudioPlayback();
// 选择指定的音频播放设备
public native int SelectAudioPlayback(String devicename);
// 获取当前使用的音频播放设备
public native String GetCurAudioPlayback();
// 更改当前的聊天模式
public native int ChangeChatMode(int chatmode);
// 获取指定用户当前的聊天模式(返回值为dwChatMode)
public native int GetUserChatMode(int userid);
// 请求与对方私聊,向对方发起私聊请求
public native int PrivateChatRequest(int userid);
// 回复对方的私聊请求
public native int PrivateChatEcho(int userid, int requestid, int baccept);
// 回复对方的私聊请求(扩展,可以附带出错代码)
public native int PrivateChatEchoEx(int userid, int requestid, int errorcode);
// 退出与某用户的私聊,或者将某用户从自己的私聊列表中清除
public native int PrivateChatExit(int userid);
// 设置外部输入视频格式
public static native int SetInputVideoFormat(int pixFmt, int dwWidth, int dwHeight, int dwFps, int dwFlags);
// 外部视频数据输入
public static native int InputVideoData(byte[] lpVideoFrame, int dwSize, int dwTimeStamp);
// 设置外部输入音频格式
public static native int SetInputAudioFormat(int dwChannels, int dwSamplesPerSec, int dwBitsPerSample, int dwFlags);
// 外部音频数据输入
public static native int InputAudioData(byte[] lpSamples, int dwSize, int dwTimeStamp);
// 异步消息通知
public void OnNotifyMsg(int dwNotifyMsg, int wParam, int lParam)
{
switch(dwNotifyMsg)
{
case AnyChatDefine.WM_GV_CONNECT:
if(baseEvent != null)
baseEvent.OnAnyChatConnectMessage(wParam>=1?true:false);
break;
case AnyChatDefine.WM_GV_LOGINSYSTEM:
if(baseEvent != null)
baseEvent.OnAnyChatLoginMessage(wParam,lParam);
break;
case AnyChatDefine.WM_GV_ENTERROOM:
if(baseEvent != null)
baseEvent.OnAnyChatEnterRoomMessage(wParam, lParam);
break;
case AnyChatDefine.WM_GV_USERATROOM:
if(baseEvent != null)
baseEvent.OnAnyChatUserAtRoomMessage(wParam,lParam>=1?true:false);
break;
case AnyChatDefine.WM_GV_LINKCLOSE:
if(baseEvent != n
没有合适的资源?快使用搜索试试~ 我知道了~
AnyChat Demo
共60个文件
java:23个
so:15个
png:7个
4星 · 超过85%的资源 需积分: 10 95 下载量 173 浏览量
2013-07-18
18:21:32
上传
评论 1
收藏 3.07MB ZIP 举报
温馨提示
这是用佰锐科技公司研发的AnyChat实现的一个聊天程序,支持语音,文字等功能
资源推荐
资源详情
资源评论
收起资源包目录
AnyChatDemo.zip (60个子文件)
AnyChatDemo
.project 850B
src
com
bairuitech
demo
ConfigEntity.java 2KB
MessageListView.java 2KB
VideoConfigActivity.java 15KB
LiveVideoActivity.java 10KB
LoginActivity.java 11KB
ConfigActivity.java 5KB
VideoActivity.java 11KB
VideoCallActivity.java 7KB
ConfigService.java 4KB
ScreenInfo.java 117B
HallActivity.java 11KB
RoomActivity.java 10KB
anychat
AnyChatTransDataEvent.java 608B
AnyChatStateChgEvent.java 1KB
AnyChatBaseEvent.java 1KB
AnyChatTextMsgEvent.java 329B
AnyChatPrivateChatEvent.java 580B
AnyChatSensorHelper.java 4KB
AnyChatDefine.java 14KB
AnyChatVideoHelper.java 5KB
AnyChatCoreSDK.java 17KB
AnyChatAudioHelper.java 6KB
AnyChatCameraHelper.java 5KB
AndroidManifest.xml 3KB
res
drawable-ldpi
icon.png 2KB
hall_bk.jpg 42KB
config.png 16KB
room.png 11KB
logo.gif 7KB
login_bk.jpg 46KB
chat_bk.gif 38KB
switchvideo.png 5KB
videophonebk.jpg 56KB
camera.png 17KB
drawable-hdpi
icon.png 4KB
drawable
btn_switchvideo_background.xml 208B
background.xml 570B
drawable-mdpi
icon.png 3KB
layout
live_video_room.xml 2KB
video_room.xml 3KB
values
strings.xml 109B
.settings
org.eclipse.ltk.core.refactoring.prefs 137B
assets
libs
armeabi
libmediacore_2.3.so 81KB
libmediacore_2.2.so 80KB
libmediahwcodec_2.2.so 98KB
libaudio_preprocessing.so 763KB
libanychatcore.so 413KB
libmediashow_2.3.so 27KB
libmediahwcodec_2.3.so 108KB
libmediautil_v7.so 1.85MB
libmediashow_2.2.so 26KB
libmediautil_v6.so 1.72MB
libmediashow_4.0.so 36KB
libmediacore.so 51KB
libmediahwcodec_4.0.so 110KB
libmediacore_4.0.so 81KB
libmediacore_4.1.so 80KB
default.properties 364B
.classpath 280B
共 60 条
- 1
Lin653
- 粉丝: 29
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页