Использование pjsip с андроидом

Я успешно установил и собрал библиотеки pjsip и pjsua для Android, я запустил pjsua на своем устройстве, и это сработало, однако я все еще не понимаю, как использовать методы этой библиотеки.

Я уже посмотрел на приложение CSipSimple и заметил, что папки jni этих двух проектов очень разные.

Должен ли я преобразовывать каждый файл .c этой библиотеки в файлы .java с SWIG? Если у кого-нибудь есть пример того, как это реализовать очень простым способом (например, процедура регистрации SIP), это было бы полезно.


person onizukaek    schedule 04.04.2013    source источник
comment
Не могли бы вы опубликовать ответ ниже   -  person securecurve    schedule 10.05.2013
comment
Привет, на самом деле вам не нужно реализовывать все это, и SWIG усложняет вашу жизнь, когда вам нужен обратный вызов из нативного. Посмотрите, как работает jni, попробуйте вызвать нативную функцию из java с помощью руководства и начните реализовывать простое приложение в нативном коде, подобном этому, но с функциями jni pjsip.org/pjsip/docs/html/, который поможет вам понять, как его использовать. Предупреждение: среда отладки - это беспорядок в настройке, следите за make-файлами для jni, и иногда eclipse может быть вашим врагом. Повеселись.   -  person onizukaek    schedule 10.05.2013
comment
Я очень ценю ваш ответ, но я предпочитаю поговорить с вами по скайпу или около того, это возможно?   -  person securecurve    schedule 10.05.2013
comment
Можете ли вы поместить какой-нибудь учебник, как вы это сделали, или поделитесь своим src   -  person Rohit    schedule 15.05.2013
comment
Мне бы хотелось получить больше информации об этом, я нахожусь там же, где и вы. кажется, нет команд для вызова   -  person Burf2000    schedule 24.07.2013
comment
То же самое здесь ... больше информации высоко ценится ...   -  person Hadi    schedule 25.01.2014
comment
Эй, вы можете дать базовый проект студии Android для pjsip?   -  person Redone    schedule 23.05.2015
comment
Это дает мне ошибку.   -  person Khushal Chouhan    schedule 24.07.2015


Ответы (1)


Это зависит от того, как вы хотите использовать библиотеку.

API самого высокого уровня для pjsip — это API pjsua2, и в исходном коде уже есть сборка библиотеки java SWIG. Вы можете просто посмотреть на эти примеры.

http://www.pjsip.org/docs/book-latest/html/intro_pjsua2.html#building-python-and-java-swig-modules

Однако, если вам не нужна часть sip signaling, а только медиакодеки и транспортная часть. Возможно, вам придется разработать интерфейсы JNI самостоятельно. Вы пишете программы на C/C++ и связываете libpjsua.so с файлом Android.mk. для примера программирования pjsua API C: http://www.pjsip.org/docs/latest/pjsip/docs/html/group__PJSUA__LIB__BASE.htm

для примера pjmedia: см. тестовые коды в pjmedia/src/test

person QZHua    schedule 31.03.2016