51cto下载-安卓平台下的即时通讯系统的开发new

上传人:ca****in 文档编号:187143069 上传时间:2023-02-11 格式:DOC 页数:6 大小:59KB
收藏 版权申诉 举报 下载
51cto下载-安卓平台下的即时通讯系统的开发new_第1页
第1页 / 共6页
51cto下载-安卓平台下的即时通讯系统的开发new_第2页
第2页 / 共6页
51cto下载-安卓平台下的即时通讯系统的开发new_第3页
第3页 / 共6页
资源描述:

《51cto下载-安卓平台下的即时通讯系统的开发new》由会员分享,可在线阅读,更多相关《51cto下载-安卓平台下的即时通讯系统的开发new(6页珍藏版)》请在装配图网上搜索。

1、 现在安卓很是火热,一大堆开发人员在捣鼓安卓平台的开发,相信大家也使用过QQ的语音视频对话功能,但是不知道大家有没有试过自己来开发一个基于安卓平台的音视频即时通讯的应用,这个应用必须能够做到跨平台 兼容Google、HTC、Moto、Samsung等主流硬件设备 支持iOS、Web、PC等设备和Android之间的互联互通 视频会话时,默认打开前置摄像头; 能够有Java音视频采集、显示驱动,兼容更多Android设备; 想要在Android平台下实现音视频通信,最快捷的方法是寻找开源项目或调用其他公司封装好的API,接下来小编介绍一款不错的SDK包给大家,(安卓平台的音视频互动开发平台)下面

2、是一些关于如何调用相关API接口的方法,大家可以相互交流交流。Android通信平台相关API方法1. /初始化SDK 2. publicnativeintInitSDK(intosver,intflags); 3. /连接服务器 4. publicnativeintConnect(Stringserverip,intport); 5. /登录系统 6. publicnativeintLogin(Stringusername,Stringpassword); 7. /进入房间(房间ID) 8. publicnativeintEnterRoom(introomid,Stringpassword)

3、; 9. /进入房间(房间名称) 10. publicnativeintEnterRoomEx(Stringroomname,Stringpassword); 11. /退出房间 12. publicnativeintLeaveRoom(introomid); 13. /设置视频显示位置 14. publicnativeintSetVideoPos(intuserid,Surfacesurface,intlef, 15. inttop,intright,intbottom); 16. /* 17. *功能:设置视频显示位置,或是刷新视频显示返回值:0表示成功,否则为出错代码 18. *参数:

4、19. *userid用户ID 20. *surface视频显示界面,android客户端只需提供SurfaceView控件,内核自动将视频显示在控件上 21. *lef,top,right,bottom视频显示位置信息 22. */23. /注销登录 24. publicnativeintLogout(); 25. /释放资源 26. publicnativeintRelease();一、初始化SDK初始化SDK是首先要完成的,用于设置SDK的一些行为,包括设置对应的回调函数。代码如下:1. /初始化SDK 2. privatevoidInitialSDK() 3. if(anychat=n

5、ull) 4. anychat=newAnyChatCoreSDK(); 5. /设置基本事件回调函数 6. anychat.SetBaseEvent(this); 7. if(configEntity.useARMv6Lib!=0) 8. anychat.SetSDKOptionInt(AnyChatDefine. 9. BRAC_SO_CORESDK_USEARMV6LIB,1);/使用ARMv6指令集 10. anychat.InitSDK(android.os.Build.VERSION.SDK_INT,0);/初始化SDK的一个参数是androidAPI版本 11. bNeedRel

6、ease=true; 12. 13. 二、登录系统当初始化SDK完成之后,便可以实现连接服务器、验证用户身份、用户登录等。1. /连接服务器 2. anychat.Connect(211.155.25.90,8906); 3. /登录系统 4. anychat.Login(android,);连接服务器和登录系统都是一个异步的过程,调用后会立即返回。在回调函数中根据返回代码判断服务器是否连接成功和登录成功。三、进入房间登录成功后就可进入相应的房间,只有在相同房间的用户才能进行音视频通信。代码如下1、进入房间1. /进入1号房间 2. anychat.EnterRoom(1,);进入房间后系统会

7、将该房间在线用户发送给客户端,只有在同一个房间用户才能进行音视频互交、文字聊天、文件传输等。当新用户进入房间或用户下线,都会触发异步消息通知上层应用更改状态。2、文字聊天成功进入房间后,便可调用API接口向指定用户或房间中所有在线用户发送文字 聊天消息。1. /发送文字聊天消息 2. Stringmessage=messageEditText.getText().toString(); 3. anychat.SendTextMessage(-1,0,message);其他用户收到文字聊天消息会触发相应的回调函数并将聊天消息显示在界面上。3、请求其他用户的音视频1. /请求对方的视频流 2. a

8、nychat.UserCameraControl(userID,1); 3. /请求对方的音频流 4. anychat.UserSpeakControl(userID,1);4、音视频的显示与播放1. /判断远程用户视频是否已打开 2. if(!bOtherVideoOpened) 3. if(anychat.GetCameraState(userID)=24. &anychat.GetUserVideoWidth(userID)!=0) 5. SurfaceHolderholder=otherView.getHolder();/获得SurfaceView控件 6. holder.setFor

9、mat(PixelFormat.RGB_565);/设置显示格式 7. holder.setFixedSize(anychat.GetUserVideoWidth(userID), 8. anychat.GetUserVideoHeight(userID);/设置视频显示宽高 9. Surfaces=holder.getSurface();/获得视频画面 10. anychat.SetVideoPos(userID,s,0,0,0,0);/调用API显示视频画面 11. bOtherVideoOpened=true; 12. 13. 14. /判断本地视频是否已打开 15. if(!bSelf

10、VideoOpened) 16. if(anychat.GetCameraState(-1)=217. &anychat.GetUserVideoWidth(-1)!=0) 18. SurfaceHolderholder=myView.getHolder();/获得SurfaceView控件 19. holder.setFormat(PixelFormat.RGB_565);/设置显示格式 20. holder.setFixedSize(anychat.GetUserVideoWidth(-1), 21. anychat.GetUserVideoHeight(-1);/设置视频显示宽高 22.

11、 Surfaces=holder.getSurface();/获得视频画面 23. anychat.SetVideoPos(-1,s,0,0,0,0);/调用API显示视频画面 24. bSelfVideoOpened=true; 25. 26. Android程序中,当收到用户的媒体流数据时,Android客户端只需提供一个SurfaceView控件,内核自动将视频媒体流数据显示在该控件上并播放声音。四、释放资源与前面讲的连接服务器、登录系统、进入房间对应的的是离开房间、注销系统、释放资源。代码如下:1. protectedvoidonDestroy() 2. /离开房间 3. anychat.LeaveRoom(-1); 4. /注销登录 5. anychat.Logout(); 6. /释放资源关闭SDK不再返回登录界面 7. anychat.Release();8. 离开房间后可再进入房间,但是注销登录和释放资源后,SDK将不再工作。在Activity生命周期结束的时候可以将占用资源释放,程序退出。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!