web-dev-qa-db-fra.com

Native Android Développement d'applications WebRTC

J'essaie de créer une application Android pour le chat vidéo et la messagerie en utilisant des API WebRtc Native. J'ai parcouru plusieurs liens et j'ai découvert que la plupart de la documentation pour Android est vague, surtout si vous ne savez pas par où commencer. J'ai suivi les liens suivants,

https://webrtc.org/native-code/Android/#

https://www.chromium.org/developers/how-tos/Android-build-instructions

Mais les liens mentionnés ci-dessus n'ont aucun sens parce que je veux développer une application Android et ces liens suggèrent de télécharger un chrome puis de le construire. Je sais que le résultat final va être un apk mais et si je veux me coder moi-même. J'ai également consulté pubnub et OpenTokRtc mais je ne veux pas non plus utiliser le service de signalisation de quelqu'un d'autre (avec les clés pub et sub). J'ai essayé le lien suivant,

https://github.com/pristineio/webrtc-build-scripts

mais cela semble être un peu incomplet pour un novice dans WebRTC ainsi car il suggère d'obtenir le WebRtc par la commande suivante,

# Pull WebRTC
get_webrtc

Enfin, j'ai essayé le lien suivant,

http://simonguest.com/2013/08/06/building-a-webrtc-client-for-Android/

Mais le problème avec ce tutoriel est qu'il n'est pas du tout mis à jour. Libjingle a été déplacé vers github maintenant et je ne sais pas comment utiliser gclient pour obtenir libjingle depuis github.

Ma lutte a été un désastre. Quelqu'un peut-il m'aider dans quelque chose avec une documentation mise à jour ou un tutoriel que je peux utiliser pour comprendre exactement de quoi ai-je besoin pour développer une application en utilisant des API natives webRTC? Veuillez ne me donner aucun lien vers OpenTokRtc ou PubNub.

Merci

24
Ahmed

Je sais que c'est un vieux fil de discussion, mais au cas où quelqu'un chercherait toujours un moyen de construire Android applications avec libjingle, des bibliothèques prédéfinies ont été publiées au cours des derniers mois qui peuvent être ajoutées en tant que dépendances) très simplement à Android Projets Studio comme ceci:

dependencies {
    compile 'org.webrtc:google-webrtc:1.0.+'
}

Dans Android Studio 2. Ou pour Android Studio 3:

dependencies {
    implementation 'org.webrtc:google-webrtc:1.0.+'
}

La documentation est ici . Pour un exemple d'utilisation de l'API Android API, lisez le code AppRTC .

6
samuelokrent

@Mark Sherman a donné une bonne réponse sur la façon d'obtenir la bibliothèque libjingle dans la compilation dans votre projet. Vous devrez toujours proposer votre propre service de signalisation. Le projet que j'ai trouvé utile qui comprend un Android Client et service est le suivant:

Client - https://github.com/pchab/AndroidRTC

Signalisation - https://github.com/pchab/ProjectRTC

Vous pouvez également consulter le SDK étendu multiplateforme d'Ericsson appelé OpenWebRTC:

http://www.openwebrtc.org/

https://github.com/EricssonResearch/openwebrtc-Android-sdk

4
Sofia Clover

Je suis également dans la même situation que vous, trouvant comment intégrer mon propre service de signalisation dans libjingle et il ne semble pas y avoir de tutoriel pour y remédier.

Si vous utilisez Android Studio pour votre développement, vous devez inclure compile 'io.pristine:libjingle:9694@aar' dans la section dependencies de votre build.gradle script:

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'io.pristine:libjingle:9694@aar'
   // the rest of your code
}

Cela devrait ajouter libjingle à votre projet.

3
Mark Sherman

J'utilise la bibliothèque que Mark Sherman mentionne. Il y a un article de blog qui explique très bien toutes les classes impliquées dans le processus: tech.appear.in

REMARQUE: Il n'explique rien sur les serveurs de signalisation mais vous le présente.

En outre, le code AppRTCDemo disponible sur chromium.googlesource.com peut être une bonne ressource fiable pour vérifier le flux de travail. C'est un peu complexe mais si vous savez ce que vous cherchez, cela peut être utile.

3
Samuel Méndez