pjsip在android下的使用 您所在的位置:网站首页 pjsip开发 pjsip在android下的使用

pjsip在android下的使用

2024-06-26 19:15| 来源: 网络整理| 查看: 265

编译与使用注意事项 编译说明编译 Demo运行运行freeswitch修改

编译 说明

公司招了个android,让我进行协助。我主要是把pjsip库的android版给编译出来。

编译

当前时间是2020年3月30日。 此时pjsip的2.10版本已经发布一段时间了,但是2.10版本有点问题,里面的demo都运行不起来(windows + Qt)。因此这里我编译用的还是2.9版本。 主要参考的这里,里面的问题还是很多的。 建议使用mac编译;用windows也行(使用msys2),就是配置起来可能有点麻烦。 注意点: 1,ANDROID_NDK_ROOT值的设定 我用了

ANDROID_NDK_ROOT=/Users/robin/android-ndk-r14b

最新版的是 android-ndk-r21,采用r21编译的时候回报错,size_t未定义啥的。r20b、r19c都有问题。 r13b也是可行的。

据说运行configure-android时指定了编译的工具链的版本4.9及以下就可以了。我没试~

2,生成库的架构问题。 建议都生成一遍:armeabi 、arm64-v8a、armeabi-v7a、x86, 跟文中说的一样,使用如下的字符串。

TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags make clean make dep make

3,编译 libpjsua2.so 安装SWIG。 我们用的也就是这个libpjsua2.so文件。 按照那个文档编译就是了。

Demo运行

pjsip中的demo太老了。 我用的是Android Studio 3.6.1,发现这个东西对网络依赖太多了,要下载很多东西,网不好的话就直接跪了。

按照文档中的Building and running pjsua2 sample application 用AS加载 pjsip-apps/src/swig/java/android 项目。 1,添加权限 在AndroidManifest.xml文件中,添加

在这里插入图片描述 2,修改目标SDK 在这里插入图片描述 这一步不是必须的,看运气。 之前这里我设置的都是26,结果在nokia7 和 魅族x8 没问题。redminote7上就不行,报 “AudioFlinger could not create record track” 的错误。也就是麦克风打开失败 网上说没有加录音权限,结果发现我已经加了,不关这个原因。 据说有两种解决办法: a,sdk版本写的低一点,例如:22。 如果没有用到高级特性的话,还是用21或者22吧,这代表的是android 5,如果再低的话,到了android4.4 很多特性就不支持了。 android 6就加了很多权限了。 参考 b,添加 就是添加数字签名。我偶然看到的,没试~ 参考

3, 解决AndroidStudio编译出现"Could not resolve all files for configuration ’ 在 项目Gradle的allprojects中添加google()如图: 参考

运行

填写的数据如下图所示 在这里插入图片描述 在这里插入图片描述 然后就能进行尝试呼叫了。

freeswitch修改

可能会有点问题。我有点忘记了,我将音频编码的PCMA、PCMU放到了最前面。 还有可能会报:

NO candidate ACL defined, Defaulting to wan.auto

的错误, 按照这里来改。 在这里插入图片描述 我只添加了第一行。就解决这个问题了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有