Kotlin
Verwalten von Änderungen im PiP-Modus
1. Aktualisieren der Benutzeroberfläche bei Änderungen des PiP-Modus
Überschreiben Sie onPictureInPictureModeChanged um den PiP-Status zu verfolgen und die lokale Vorschau im schwebenden Fenster auszublenden (das Teilnehmervideo bleibt erhalten):
Kopieren
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)
}
}
}
Enthüllen Sie isInPipMode zu komponieren (zum Beispiel mit mutableStateOf), so dass die Schaltfläche PiP automatisch ausgeblendet wird.
2. Die Sitzung in PiP aufrechterhalten
Do nicht aufrufen session.onPause() im PiP-Modus, oder der Anruf kann unterbrochen werden, wenn der Benutzer die Vollbildschirmaktivität verlässt:
Kopieren
override fun onPause() {
super.onPause()
if (!isInPictureInPictureMode) {
session?.onPause()
}
}
override fun onResume() {
super.onResume()
if (!isInPictureInPictureMode) {
session?.onResume()
}
}
3. Ansichten in onStop aufräumen
Entfernen Sie Verleger- und Abonnentenansichten, wenn die Aktivität beendet ist:
Kopieren
override fun onStop() {
super.onStop()
subscriber?.let { subscriberViewContainer.removeView(it.view) }
publisher?.let { publisherViewContainer.removeView(it.view) }
}
Bild im Bild
Erfahren Sie, wie Sie mit dem Vonage Video SDK Picture-in-Picture-Funktionen zu Ihrer Anwendung hinzufügen können.
Erhältlich bei:
Schritte
1
Einführung2
Erste Schritte3
Ein neues Projekt erstellen4
Hinzufügen des Android-SDK5
Authentifizierung einrichten6
Beantragung von Genehmigungen7
Aktivieren von Bild-in-Bild auf Ihrer Aktivität8
Bereitstellung von Containern für Videoansichten9
Starten von Picture-in-Picture10
Verwalten von Änderungen im PiP-Modus11
Ausführen der App12
Schlussfolgerung