使用PJSIP开源库进行VoIP媒体和信号处理

问题描述 投票:0回答:2

我对Android很新,我得到了一个初级Android的工作,我被建议使用PJSIP来创建VoIP应用程序的后端功能。这意味着要自己处理媒体传输和信号传输。

我在阅读文档时遇到了困难。我尝试阅读它,但很难理解代码和功能。如何在Android Studio(Java)中实现用C编写的库?我如何阅读文档并了解我的意图?

我试过阅读PJSIP开发人员指南,大部分内容对我来说似乎都不可理解。

android server voip pjsip
2个回答
0
投票

我正在为您开发类似的应用程序以及视频支持。我还没有将pjsip库集成到应用程序中。但是为android构建了库。

为了回答你的问题,NDK(android studio中提供的SDK)用于在android中实现C和C ++等本机语言。使用JNI接口,C,C ++代码与android兼容,你现在没有任何硬代码。转到pjsip并获取基于平台(windows或linux)的tar或zip文件,并将其解压缩到您的系统中。你还需要安装ndk,谷歌通过这些步骤。

建立图书馆会有点麻烦。因此,请按照官方指南进行操作,并按照以下步骤进行操作

为Android建立PJSIP转到Android的pjproject下载目录

去pjproject / pjlib / include / pj并检查config_site.h文件,如果没有找到则创建一个并添加:hashtag define PJ_CONFIG_ANDROID 1个hashtag包括angular braces pj / config_site_sample.h angular braces

export ANDROID_NDK_ROOT = ndk的ndk-bundle(已下载)的路径。

转到pjproject的根文件夹并执行./configure make dep && make clean && make

错误:

没有编译器发现错误安装clang使用sudo apt-get clang并执行export CC =“$ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHAIN “export CXX =”$ ANDROID_NDK / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang ++ -target armv7-none-linux-androideabi -gcc-toolchain $ NDK_TOOLCHAIN“

对于C编译器无法创建可执行文件错误授予ndk-bundle权限

chmod -R 777 ndk-bundle

对于任何文件夹中丢失的分隔符错误,执行find。 -type f -name'* .depend'| xargs rm

对于任何其他错误,还要安装g ++


1
投票

在pjsip-apps中找到android的pjsua示例应用程序。它有一个很好的例子,说明如何通过Android java应用程序的JNI接口使用pjsip c-library。

© www.soinside.com 2019 - 2024. All rights reserved.