2013-04-04 3 views
4

J'ai installé et construit avec succès la bibliothèque pjsip et pjsua pour android, j'ai couru pjsua sur mon appareil et cela a fonctionné, mais je suis toujours perdu sur la façon d'utiliser les méthodes de cette bibliothèque.Utilisation de pjsip avec android

J'ai déjà jeté un coup d'oeil sur l'application CSipSimple et j'ai remarqué que les dossiers jni de ces 2 projets sont très différents. Dois-je convertir chaque fichier .c de cette bibliothèque en fichiers .java avec SWIG? Si quelqu'un a un exemple sur la façon de l'implémenter d'une manière très simple (une procédure de registre SIP par exemple), ce serait utile.

+0

Ok je l'ai trouvé !! – onizukaek

+1

Souhaitez-vous s'il vous plaît poster la réponse ci-dessous – securecurve

+3

Bonjour, en fait, vous n'avez pas besoin de mettre en œuvre le tout et SWIG rend votre vie plus compliquée quand vous avez besoin de rappel de natif. Jetez un coup d'œil sur la façon dont jni travaille pour appeler une fonction native de java en utilisant le tutoriel et commencez à implémenter une application simple en code natif comme celui-ci mais avec les fonctions jni http://www.pjsip.org/pjsip/docs/html /page_pjsip_sample_simple_pjsuaua_c.htm qui vous aide à comprendre comment l'utiliser. Attention: l'environnement de débogage est un désordre à mettre en place, attention aux makefiles pour jni et parfois l'éclipse pourrait être votre ennemi. Amusez-vous. – onizukaek

Répondre

0

Cela dépend de la manière dont vous souhaitez utiliser la bibliothèque. L'API de plus haut niveau pour pjsip est pjsua2 API, et une bibliothèque java SWIG est déjà créée pour vous dans le code source. Vous pouvez juste regarder ces exemples.

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

Cependant, si vous n'avez pas besoin de la part de signalisation SIP, mais juste les codecs multimédias et d'une partie du transport. Vous pourriez avoir à concevoir une interface JNI par vous-même. Vous écrivez les programmes en C/C++ et liez le fichier libpjsua.so dans le fichier Android.mk. par exemple de programmation pjsua api C: http://www.pjsip.org/docs/latest/pjsip/docs/html/group__PJSUA__LIB__BASE.htm

par exemple pjmedia: voir les codes de contrôles effectués sous pjmedia/src/test