我实际上正在开发一个Android VOIP应用程序,让用户可以与其他用户建立会议.我的约束是避免使用像SIP服务器这样的服务器来实现它,如果我必须使用外部库,它应该在LGPL许可下.我使用Android RTP堆栈的AudioGroup和AudioStream类以对等方式成功完成了它.
我的问题发生在3个同行的会议上.使用AudioGroup,我启用了MODE_ECHO_SUPPRESSION但结果很差,我可以在3秒后听到回声.我得出结论,Android RTP堆栈不是我的问题的一个很好的解决方案,因为使用AudioGroup使得无法调整声音和回声抑制似乎功能很糟糕.
通过测试VOIP应用程序,我发现了许多工作非常精细,更准确地说是Jitsi(主页),它使用基于本机代码的java库来获取LGPL许可下的RTP内容.我试图按照本教程使用libjitsi,但不幸的是它给了我一个错误...这时,我不确定是否可以在Android项目中使用Libjitsi,因为它通常在Java项目中使用.
Libjitsi.start()在活动的onCreate方法中调用静态方法01-02 17:06:48.304 1523年至1523年/ com.test.example I/LibJitsi:无法初始化LibJitsi后端org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.(接下来是异常堆栈跟踪.)将尝试替代方案.java.lang.NoClassDefFoundError:org.osgi.framework.FrameworkUtil在org.jitsi.impl.libjitsi.LibJitsiOSGiImpl(LibJitsiOSGiImpl.java:34)在java.lang.Class.newInstanceImpl(本机方法)在java.lang.Class中.的newInstance(Class.java:1319)在org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:227)在org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:171)在com.test android.app上的android.app.Activity.performCreate(Activity.java:4465)中的.example.ui.createconf.CreateConfActivity.onCreate(CreateConfActivity.java:76).
现在,如果有人已经尝试在AndroidProject上使用libjitsi,或者如果你知道它不可行,那么如果你与我分享你的经验,我真的很感激.
谢谢