Host-SDK-Ansichten in AndroidView
Vonage verwandelt sich in eine normale Ansichten. Eine erstellen FrameLayout pro Teilnehmerplatz innerhalb AndroidViewmit onSubscriberContainerReady(index, …), und fügen Sie subscriber.view aus Ihrem Sitzungscode, wenn dieser Platz belegt ist.
Das Beispiel verpackt alles in Box → Column: LazyVerticalGrid (so gewichtet, dass es den Raum über dem Balken ausfüllt) + ControlsRow unten; die Herausgeber ist eine zweite AndroidView über die Box, align(BottomEnd) für Bild-in-Bild. Jede Gitterreihe verwendet SubscriberCell, die wiederum die AndroidView + FrameLayout für das Video dieses Steckplatzes.
Entfernte Kacheln - zwei Spalten, ein zusammensetzbares Element pro Slot-Index (entspricht maxSubscribers und Ihre Teilnehmer-Arrays).
LazyVerticalGrid(
modifier = Modifier.weight(1f),
columns = GridCells.Fixed(2),
verticalArrangement = Arrangement.spacedBy(12.dp),
horizontalArrangement = Arrangement.spacedBy(12.dp),
userScrollEnabled = false,
) {
items(items = (0 until maxSubscribers).toList(), key = { it }) { index ->
SubscriberCell(
modifier = Modifier
.fillMaxWidth()
.aspectRatio(1f),
visible = subscriberVisible.getOrNull(index) == true,
audioEnabled = subscriberAudioEnabled.getOrNull(index) != false,
onAudioChanged = { onSubscriberAudioChanged(index, it) },
onContainerReady = { onSubscriberContainerReady(index, it) },
)
}
}
Lokale Vorschau - dasselbe Muster: FrameLayout von factory, übergeben an onPublisherContainerReady.
AndroidView(
modifier = Modifier
.align(Alignment.BottomEnd)
.padding(12.dp)
.size(width = 150.dp, height = 200.dp)
.background(Color.Black),
factory = {
FrameLayout(it).also(onPublisherContainerReady)
}
)
Vollständiges Layout: SimpleMultipartyScreen.kt.
Einfacher Mehrparteienbetrieb
Erfahren Sie, wie Sie das Vonage Android SDK für einen Anruf mit mehreren Teilnehmern verwenden können. Die Anwendung veröffentlicht Audio/Video von einem Gerät und kann sich mit mehreren Teilnehmern verbinden.