Exibir o SDK do Host em AndroidView
O Vonage é exibido normalmente Visualizações. Criar um FrameLayout por vaga de assinante dentro AndroidView, exponha-o com onSubscriberContainerReady(index, …), e anexar subscriber.view do código da sua sessão quando essa vaga for preenchida.
O exemplo envolve tudo em Box → Column: LazyVerticalGrid (ponderado de forma a preencher o espaço acima da barra) + ControlsRow abaixo; o editora é um segundo AndroidView no Box, align(BottomEnd) para o recurso “imagem na imagem”. Cada linha da grade utiliza SubscriberCell, que, mais uma vez, utiliza AndroidView + FrameLayout para o vídeo desse espaço.
Blocos remotos — duas colunas, um item composível por índice de slot (corresponde a maxSubscribers e suas matrizes de assinantes).
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) },
)
}
}
Prévia local — mesmo padrão: FrameLayout de factory, passado para 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)
}
)
Layout completo: SimpleMultipartyScreen.kt.
Multipartidário simples
Aprenda a usar o SDK do Vonage para Android em chamadas com vários participantes. O aplicativo transmite áudio e vídeo a partir de um dispositivo e pode se conectar a vários assinantes.