Kotlin
Gestion des changements de mode PiP
1. Mettre à jour l'interface utilisateur lorsque le mode PiP est modifié
Annulation onPictureInPictureModeChanged pour suivre l'état PiP et masquer l'aperçu local dans la fenêtre flottante (la vidéo de l'abonné est conservée) :
Copie
override fun onPictureInPictureModeChanged(
isInPictureInPictureMode: Boolean,
newConfig: Configuration,
) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
isInPipMode = isInPictureInPictureMode
if (isInPictureInPictureMode) {
publisherViewContainer.visibility = View.GONE
publisher?.view?.visibility = View.GONE
} else {
publisherViewContainer.visibility = View.VISIBLE
publisher?.view?.visibility = View.VISIBLE
if (publisher?.view is GLSurfaceView) {
(publisher?.view as GLSurfaceView).setZOrderOnTop(true)
}
}
}
Exposer isInPipMode à composer (par exemple avec mutableStateOf), de sorte que le bouton PiP se cache automatiquement.
2. Maintenir la session en vie dans le PiP
Faire pas appel session.onPause() en PiP, ou l'appel peut s'interrompre lorsque l'utilisateur quitte l'activité en plein écran :
Copie
override fun onPause() {
super.onPause()
if (!isInPictureInPictureMode) {
session?.onPause()
}
}
override fun onResume() {
super.onResume()
if (!isInPictureInPictureMode) {
session?.onResume()
}
}
3. Nettoyer les vues dans onStop
Supprimer les vues de l'éditeur et de l'abonné lorsque l'activité s'arrête :
Copie
override fun onStop() {
super.onStop()
subscriber?.let { subscriberViewContainer.removeView(it.view) }
publisher?.let { publisherViewContainer.removeView(it.view) }
}
Une image dans une image
Apprenez à ajouter la fonctionnalité Image dans l'image à votre application à l'aide du SDK vidéo de Vonage.
Disponible sur :
Étapes
1
Introduction2
Pour commencer3
Création d'un nouveau projet4
Ajout du SDK Android5
Configuration de l'authentification6
Demande d'autorisation7
Activer l'incrustation d'image sur votre activité8
Fournir des conteneurs pour les vidéos9
Lancement de l'image dans l'image10
Gestion des changements de mode PiP11
Exécution de l'application12
Conclusion