我的问题发生在3个同行的会议上.使用AudioGroup,我启用了MODE_ECHO_SUPPRESSION,但结果很差,我可以在3秒后听到回声.我得出结论,Android RTP堆栈不是我的问题的一个很好的解决方案,因为使用AudioGroup使得无法调整声音和回声抑制似乎功能很糟糕.
通过测试VOIP应用程序,我发现了许多工作非常精细,更准确地说是Jitsi(homepage),它使用基于本机代码的java库来获取LGPL许可下的RTP内容.我试图按照this tutorial使用libjitsi,但不幸的是它给了我一个错误……这时,我不确定是否可以在Android项目中使用Libjitsi,因为它通常用在Java项目中.
步骤我去了错误(使用Android Studio)
>我已经从sources中包含的build.xml编译了libjitsi,并将生成的jar直接放在我项目的lib /文件夹中.
>我在build.gradle文件中添加了对libjitsi.jar的依赖
>在活动的onCreate方法中调用静态方法Libjitsi.start()
错误日志
01-02 17:06:48.304 1523-1523/com.test.example I/LibJitsi﹕
Failed to initialize LibJitsi backend
org.jitsi.impl.libjitsi.LibJitsiOSGiImpl. (Exception stack trace
follows.) Will try an alternative.
java.lang.NoClassDefFoundError: org.osgi.framework.FrameworkUtil
at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.(LibJitsiOSGiImpl.java:34)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:227)
at org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:171)
at com.test.example.ui.createconf.CreateConfActivity.onCreate(CreateConfActivity.java:76)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
at android.app.ActivityThread.access$600(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4441)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native
现在,如果有人已经尝试在AndroidProject上使用libjitsi,或者如果你知道它不可行,那么如果你与我分享你的经验,我真的很感激.
谢谢
是的libjitsi依赖可以添加到android,你可以尝试 jitsi-android这是 Jitsi项目的Android端口.我试图运行他们的示例应用程序,它编译得很好.但是,我已经在Android in another answer上共享了5个不同的VOIP调用库,你可以看看并尝试它们.
恩乔伊!