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();

    }

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,565评论 24 688
  • 翻译☞http://www.html5rocks.com/en/tutorials/webrtc/infrastr...
    bktmkd阅读 5,262评论 1 28
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 7,105评论 4 39
  • “智力中没有一样东西最初不是源自感觉” 一个孩子一手拿着洗脸毛巾,一手拿着梳子。他咬咬毛巾又咬咬梳子,我们知道他在...
    VanAllen阅读 497评论 1 0
  • 不知道从什么时候起“鸡汤”这个词就流行起来了。只要是宣称正能量、让人努力奋斗的文章都会被大家以鸡汤嗤之以鼻...
    小刀秦阅读 131评论 0 0