Ativar o picture-in-picture em um aplicativo
Enquanto um usuário está em uma chamada, uma interface do usuário em tela cheia pode impedir que o usuário faça multitarefas em um aplicativo. Há duas maneiras de permitir que o usuário realize várias tarefas no aplicativo:
- Permita que o usuário selecione o botão Voltar e retorne à tela anterior. Nenhuma interface do usuário de chamada é visível enquanto o usuário ainda está na chamada.
- Ative o picture-in-picture.
Este artigo mostra como ativar o picture-in-picture na Biblioteca de Interface do Usuário dos Serviços de Comunicação do Azure. O recurso picture-in-picture é fornecido pelo sistema e está sujeito ao suporte a recursos no dispositivo, incluindo carga da CPU, disponibilidade de RAM e estado da bateria.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso de Serviços de Comunicação implantado. Crie um recurso de Serviços de Comunicação.
- Um token de acesso de usuário para habilitar o cliente de chamada. Obtenha um token de acesso de usuário.
- Opcional: conclusão do início rápido para começar a usar os compostos da Biblioteca da Interface do Usuário.
Ligar a caraterística
Para obter mais informações, consulte a biblioteca de interface do usuário do Android de código aberto e o código do aplicativo de exemplo.
Configuração picture-in-picture
Para habilitar multitarefa e picture-in-picture, use CallCompositeBuilder.multitasking
para definir CallCompositeMultitaskingOptions
com enableMultitasking
e enableSystemPictureInPictureWhenMultitasking
parâmetros do construtor.
val callComposite: CallComposite =
CallCompositeBuilder()
.multitasking(CallCompositeMultitaskingOptions(true, true))
.build()
O botão Voltar aparece quando enableMultitasking
está definido como true
.
Quando o usuário toca no botão Voltar, a interface do usuário de chamada fica oculta e, se configurada, o modo de exibição Picture-in-Picture é exibido.
Quando a multitarefa está ATIVADA para CallComposite
, a atividade de chamada começa em uma tarefa dedicada. No histórico de tarefas, o usuário vê duas telas: uma para a atividade do aplicativo e outra para a atividade de chamada dos Serviços de Comunicação.
Para inserir multitarefa programaticamente e, se configurado, exibir Picture-in-Picture, chame o sendToBackground
método.
Para trazer o usuário de volta à atividade de chamada programaticamente, use bringToForeground
a função:
Para obter mais informações, consulte a biblioteca de interface do usuário do iOS de código aberto e o código de aplicativo de exemplo.
Pré-requisitos
Um dispositivo iOS físico para executar o aplicativo. Um simulador iOS não suporta a funcionalidade Picture-in-picture.
Configuração picture-in-picture
Para habilitar multitarefa e picture-in-picture, use os parâmetros enableMultitasking
do CallCompositeOptions
construtor e enableSystemPiPWhenMultitasking
.
Nota
Os aplicativos que têm um destino de implantação anterior ao iOS 16 exigem o com.apple.developer.avfoundation multitasking-camera-access
direito de usar a câmera no modo picture-in-picture.
let callCompositeOptions = CallCompositeOptions(
enableMultitasking: true,
enableSystemPictureInPictureWhenMultitasking: true)
let callComposite = CallComposite(withOptions: callCompositeOptions)
O botão Voltar aparece quando enableMultitasking
está definido como true
.
Quando o usuário toca no botão Voltar, a interface do usuário de chamada fica oculta e, se configurada, o modo de exibição Picture-in-Picture é exibido.
Para entrar ou sair da multitarefa programaticamente, use isHidden
a propriedade:
// Close calling UI and display PiP
callComposite.isHidden = true
// Displaye calling UI and close PiP
callComposite.isHidden = false