Использование библиотеки с открытым исходным кодом PJSIP для VoIP медиа и обработки сигналов - PullRequest
0 голосов
/ 17 апреля 2019

Я довольно новичок в Android, я получил работу в качестве младшего Android, и мне предложили использовать PJSIP для создания серверной функциональности приложения VoIP.Он предназначен для самостоятельной обработки передачи и записи мультимедиа.

Я с трудом изучаю документацию.Я пытаюсь прочитать это, но трудно понять код и функции.Как реализовать библиотеку, написанную на C, в Android Studio (Java)?Как мне прочитать документацию и понять, что я должен делать?

Я пытался прочитать Руководство разработчика PJSIP, большая часть которого мне кажется непонятной.

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Найдите пример приложения pjsua для android в pjsip-apps.Это хороший пример того, как c-библиотека pjsip используется через интерфейс JNI из java-приложения для Android.

0 голосов
/ 24 апреля 2019

Я занимаюсь разработкой приложения, аналогичного вашему, с поддержкой видео. Мне еще предстоит интегрировать библиотеку pjsip в приложение. Но построили библиотеку для android.

Чтобы ответить на ваши вопросы, NDK (SDK, доступный в Android Studio) используется для реализации родных языков, таких как C и C ++, в Android. С помощью интерфейса JNI код C, C ++ сделан совместимым с Android. Пока у вас нет жесткого кода. Перейдите в pjsip и получите файлы tar или zip в зависимости от платформы (windows или linux) и распакуйте их в свою систему. Вам также нужно установить ndk, гугл через шаги.

Сборка библиотеки будет немного хлопотной. Так что следуйте официальному руководству и для ошибок, которые возникают, следуйте инструкциям ниже

Buiding PJSIP для Android Перейдите в каталог pjproject, скачанного для android

Перейдите в pjproject / pjlib / include / pj и проверьте файл config_site.h, если он не найден, создайте его и добавьте: определение хештега PJ_CONFIG_ANDROID 1 хештег включает угловые скобки pj / config_site_sample.h угловые скобки

export ANDROID_NDK_ROOT = путь к ndk-пакету ndk (загружено).

Перейдите в корневую папку 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

за пропущенную ошибку разделителя в любых папках выполнить поиск. -тип f -name '* .depend' | xargs rm

При любых других ошибках также установите g ++

...