小编syl*_*l8o的帖子

将一个libjitsi依赖项添加到Android项目是否可行?

我实际上正在开发一个Android VOIP应用程序,让用户可以与其他用户建立会议.我的约束是避免使用像SIP服务器这样的服务器来实现它,如果我必须使用外部库,它应该在LGPL许可下.我使用Android RTP堆栈的AudioGroupAudioStream类以对等方式成功完成了它.

我的问题发生在3个同行的会议上.使用AudioGroup,我启用了MODE_ECHO_SUPPRESSION但结果很差,我可以在3秒后听到回声.我得出结论,Android RTP堆栈不​​是我的问题的一个很好的解决方案,因为使用AudioGroup使得无法调整声音和回声抑制似乎功能很糟糕.

通过测试VOIP应用程序,我发现了许多工作非常精细,更准确地说是Jitsi(主页),它使用基于本机代码的java库来获取LGPL许可下的RTP内容.我试图按照本教程使用libjitsi,但不幸的是它给了我一个错误...这时,我不确定是否可以在Android项目中使用Libjitsi,因为它通常在Java项目中使用.

步骤我去了错误(使用Android Studio)

  • 我已经从源代码中包含的build.xml编译了libjitsi,并将生成的jar直接放在我项目的lib /文件夹中.
  • 我在build.gradle文件中添加了对libjitsi.jar的依赖
  • 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,或者如果你知道它不可行,那么如果你与我分享你的经验,我真的很感激.

谢谢

android voip rtp

6
推荐指数
1
解决办法
1462
查看次数

标签 统计

android ×1

rtp ×1

voip ×1