Publication d'un flux dans la session
Lorsque l'application se connecte à la session In-App Video, nous voulons qu'elle publie un flux audio-vidéo vers la session, en utilisant la caméra et le microphone :
- Ajouter un
publisherà la classe MainActivity (après la déclaration de la propriétésession) :
La classe Publisher est définie dans le SDK Android.
- Modifier la mise en œuvre de la
SessionListener.onConnected()pour inclure le code permettant de publier un flux dans la session :
Le code ci-dessus utilise Publisher.Builder() pour instancier un objet Publisher. Le constructeur prend un paramètre : le contexte associé à ce processus (bien qu'il puisse être différent dans une application de production).
Les Publisher.setPublisherListener() définit l'objet qui implémentera l'interface PublisherListener. Cette interface comprend des méthodes de rappel qui sont appelées en réponse à des événements liés à la publication.
Important : Le contexte utilisé dépend du cas d'utilisation spécifique. Toutefois, il est généralement souhaitable que la session se déroule en dehors de l'activité (par exemple, entre deux activités). Pour les applications de production, il est plus pratique d'utiliser le contexte de l'application plutôt que celui de l'activité.
Le code transmet ensuite l'objet Publisher en tant que paramètre de la fonction Session.publish() Cette méthode publie un flux audio-vidéo dans la session, en utilisant la caméra et le microphone du dispositif Android. Cette méthode publie un flux audio-vidéo dans la session, en utilisant la caméra et le microphone de l'appareil Android. (Notez que dans un appareil virtuel Android, le SDK Android utilise une vidéo de test lors de la publication d'un flux).
L'objet Publisher possède un getView() qui renvoie un objet Android View. Cette vue affiche la vidéo capturée par la caméra de l'appareil. Le code ajoute cette vue en tant que sous-vue de l'objet publisherViewContainer objet.
- Pour enregistrer les événements, ajoutez un
publisherListenerà la propriétésessionListenerde laMainActivity:
Notez que la classe Publisher étend la classe PublisherKit (également définie par le SDK Android). La classe PublisherKit est une classe de base que vous pouvez utiliser pour créer des éditeurs avancés (tels que des éditeurs qui utilisent des capteurs vidéo ou des moteurs de rendu personnalisés).
Il s'agit de la mise en œuvre de la PublisherListener des méthodes :
onStreamCreated(publisherKit, stream)- Appelé lorsque l'éditeur commence à diffuser des informations dans la session.onStreamDestroyed(publisherKit, stream)- Appelé lorsque l'éditeur cesse de diffuser des informations dans la session.onError(error)- Appelé lorsque le client ne parvient pas à publier dans la session. UnOpentokErrorest transmis à la méthode.
Chat vidéo de base
Apprenez les concepts de base de la plateforme Video API de Vonage, y compris la façon dont les utilisateurs peuvent communiquer par le biais de la vidéo, de la voix et de la messagerie. Explorer un flux de base de l'API Video de Vonage.