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 modo de imagem sobre imagem.

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 de imagem-em-imagem é fornecido pelo sistema e está sujeito à compatibilidade de funcionalidades no dispositivo, incluindo uso do CPU, disponibilidade de RAM e estado da bateria.

Pré-requisitos

Ativar a funcionalidade

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 de imagem sobre imagem

Para ativar a multitarefa e o picture-in-picture, utilize CallCompositeBuilder.multitasking para configurar CallCompositeMultitaskingOptions com os parâmetros enableMultitasking e enableSystemPictureInPictureWhenMultitasking 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 Imagem-em-Imagem, chame o método sendToBackground.

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 de imagem sobre imagem

Para habilitar a multitarefa e o modo picture-in-picture, utilize os parâmetros CallCompositeOptions, enableMultitasking e enableSystemPiPWhenMultitasking do construtor.

Nota

As aplicações que têm um destino de implantação anterior ao iOS 16 exigem a com.apple.developer.avfoundation multitasking-camera-access autorização para usar a câmara no modo imagem-em-imagem.

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 a propriedade isHidden.

// Close calling UI and display PiP
callComposite.isHidden = true
// Display calling UI and close PiP
callComposite.isHidden = false

Próximos passos