WEBRTC_Android踩坑记录

自从接手音视频聊天开发的任务,深感压力,毕竟以前没接触过,幸好服务端的信令服务器有一个后端大神帮我搞,不用我太费力,主要搞定Android端即可.
google提供的demo只能说相当简陋,只能实现单人视频,刚开始不懂,用的是libjingle的13886版本(目前已经更新到15000+版本,跟13886版本api有部分差异 新版本隐藏的很深, google了一段才发现),因为基本需求已经快完成了,就暂时不考虑更换版本,后期可能会自己编译源码实现对其c++层的修改.
目前实现的功能:单人视频.多人视频(只测试到8个 ,没有足够手机,人越多月容易断线,这是接下去要解决的问题).
先说一个巨坑,开始在maven上找到的最新版本只更新到11139,于是就用了它就开始开发,这个版本有个Bug当多人视频的时候谁退出谁就app崩溃,报so库异常 mediastream 释放 错误 ,而单人的不会,查遍了google 发现在新版本修复了这个问题,然而已经开发了很多功能(点击切换屏幕,小屏幕随手指变换位置等),实在懒得换,这个问题一直困扰了我有1个星期,经过n次测试终于解决,深夜来吐个槽,纪念下这几个日夜:
在webrtcClient类中需要这样写才不会奔溃以及后续再视频不会出问题:

  /**
     * 销毁方法
     */
    public void onDestroy() {
    factory.stopAecDump();
    for (Peer peer : peers.values()) {
          peer.pc.close();
     }
        videoSource.stop();
        client.off();//您需要打开,然后断开,然后将其关闭。
        client.disconnect();
        client.close();

    }

以后碰到坑再继续分享 解决方法.

你可能感兴趣的:(WEBRTC_Android踩坑记录)