最近学习Android平台下跨平台音视频通信开发,虽然网上有很多开源项目供我们参考学习,但音视频效果很一般,还有很多不稳定的因素,毕竟是开源嘛。在国内我找到了一个比较好音视频通信解决方案(百度下载官方Anychat for Android 的demo),该案例提供了纯Java语言接口供我们调用,随后我参照官方android demo程序和开发文档并结合自己的见解写了一个android音频通信软件,200行以内代码就搞定了(难以相信吧)。其实我只是调用其相关API即可实现。以下是我自己写的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 SurfaceView 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 handler; // 用Handler来不间断刷新即时视频
16. private List<String> userlist = new ArrayList<String>();//保存在线用户列表
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 = (SurfaceView) findViewById(R.id.surface_remote);
24. localSurfaceView = (SurfaceView) findViewById(R.id.surface_local);
25