Android平台的JAVA视频通话代码

上传人:洪易 文档编号:40223384 上传时间:2018-05-24 格式:DOC 页数:7 大小:66.50KB
返回 下载 相关 举报
Android平台的JAVA视频通话代码_第1页
第1页 / 共7页
Android平台的JAVA视频通话代码_第2页
第2页 / 共7页
Android平台的JAVA视频通话代码_第3页
第3页 / 共7页
Android平台的JAVA视频通话代码_第4页
第4页 / 共7页
Android平台的JAVA视频通话代码_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Android平台的JAVA视频通话代码》由会员分享,可在线阅读,更多相关《Android平台的JAVA视频通话代码(7页珍藏版)》请在金锄头文库上搜索。

1、如何用如何用 java 代码实现代码实现 Android 的视频通话的视频通话最近学习 Android 平台下跨平台音视频通信开发,虽然网上有很多开源项目供我们参考学习,但音视频效果很一般,还有很多不稳定的因素,毕竟是开源嘛。在国内我找到了一个比较好音视频通信解决方案(百度下载官方网站 http:/ Anychat for Android 的 demo ) ,该案例提供了纯 Java 语言接口供我们调用,随后我参照官方 android demo 程序和开发文档并结合自己的见解写了一个 android 音频通信软件,200 行以内代码就搞定了(难以相信吧) 。其实我只是调用其相关 API 即可实

2、现。以下是我自己写的 Java 代码,以备大家互相学习:1./* 2. * Android 视频聊天 3. * 1、初始化 SDK 2、连接服务器、 3、用户登录;4、进入房间;5、打开本地视频;6、请求对方视频 4. */ 5.public class VideoChatActivity extends Activity implements AnyChatBaseEvent 6. 7. private AnyChatCoreSDK anychat; / 核心 SDK 8. private SurfaceView remoteSurfaceView; / 对方视频 9. private Su

3、rfaceView localSurfaceView; / 本地视频 10. private ConfigEntity configEntity; 11. private boolean bSelfVideoOpened = false; / 本地视频是否已打开 12. private boolean bOtherVideoOpened = false; / 对方视频是否已打开 13. private TimerTask mTimerTask; / 定时器 14. private Timer mTimer = new Timer(true); 15. private Handler handl

4、er; / 用 Handler 来不间断刷新即时视频 16. private List userlist = new ArrayList();/保存在线用户列表 17. private int userid; / 用户 ID 18. Override 19. public void onCreate(Bundle savedInstanceState) 20. 21. super.onCreate(savedInstanceState); 22. setContentView(R.layout.activity_video_chat); 23. remoteSurfaceView = (Sur

5、faceView) findViewById(R.id.surface_remote); 24. localSurfaceView = (SurfaceView) findViewById(R.id.surface_local); 25. configEntity = ConfigService.LoadConfig(this);/加载视频通话设置 26. loginSystem();/ 初始化 SDK 连接服务器 27. mTimerTask = new TimerTask() 28. public void run() 29. Message mesasge = new Message()

6、; 30. handler.sendMessage(mesasge); 31. 32. ; 33. mTimer.schedule(mTimerTask, 1000, 100); 34. handler = new Handler() 35. Override 36. public void handleMessage(Message msg) 37. VideoChat();/ 不间断显示即时视频通话画面 38. super.handleMessage(msg); 39. 40. ; 41. 42. / 初始化 SDK 连接服务器 43. private void loginSystem()

7、 44. if (anychat = null) 45. anychat = new AnyChatCoreSDK(); 46. anychat.SetBaseEvent(this); / 设置基本事件回调函数 47. if (configEntity.useARMv6Lib != 0) / 使用 ARMv6 指令集 48. anychat.SetSDKOptionInt(AnyChatDefine. 49. BRAC_SO_CORESDK_USEARMV6LIB, 1); 50. anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0); /

8、初始化 SDK 51. 52. anychat.Connect(““, 8906);/ 连接服务器 53. 54. / 显示即时视频通话画面 55. public void VideoChat() 56. if (!bOtherVideoOpened) 57. if (anychat.GetCameraState(userid) = 2 58. 60. holder.setFormat(PixelFormat.RGB_565); 61. holder.setFixedSize(anychat.GetUserVideoWidth(userid), 62. anychat.GetUserVideo

9、Height(userid); 63. Surface s = holder.getSurface(); / 获得视频画面 64. anychat.SetVideoPos(userid, s, 0, 0, 0, 0); / 调用 API 显示视频画面 65. bOtherVideoOpened = true; 66. 67. 68. if (!bSelfVideoOpened) 69. if (anychat.GetCameraState(-1) = 2 70. 72. holder.setFormat(PixelFormat.RGB_565); 73. holder.setFixedSize

10、(anychat.GetUserVideoWidth(-1), 74. anychat.GetUserVideoHeight(-1); 75. Surface s = holder.getSurface(); 76. anychat.SetVideoPos(-1, s, 0, 0, 0, 0); 77. bSelfVideoOpened = true; 78. 79. 80. 81. public void OnAnyChatConnectMessage(boolean bSuccess) 82. if (!bSuccess) 83. Toast.makeText(VideoChatActiv

11、ity.this, “连接服务器失败,自动重连,请稍后.“, Toast.LENGTH_SHORT).show(); 84. 85. anychat.Login(“android“, “); / 服务器连接成功 用户登录 86. 87. public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) 88. if (dwErrorCode = 0) 89. Toast.makeText(this, “登录成功!“, Toast.LENGTH_SHORT).show(); 90. anychat.EnterRoom(1, “);

12、/ 用户登录成功 进入房间 91. ApplyVideoConfig(); 92. else 93. Toast.makeText(this, “登录失败,错误代码:“ + dwErrorCode, Toast.LENGTH_SHORT).show(); 94. 95. 96. public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) 97. if (dwErrorCode = 0) / 进入房间成功 打开本地音视频 98. Toast.makeText(this, “进入房间成功“, Toast.LENGTH_SHORT).show(); 99. anychat.UserCameraControl(-1, 1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号