Partilhar via


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

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.

Captura de ecrã do ecrã de chamadas do Android com o botão Voltar visível.

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.

callComposite.sendToBackground()

Para trazer o usuário de volta à atividade de chamada programaticamente, use bringToForeground a função:

callComposite.bringToForeground(context)

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.

Captura de ecrã do ecrã de chamada do iOS com o botão Voltar visível.

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

Próximos passos