Orientação gerada a partir de informações públicas. Apenas para referência.
Um plugin Flutter que habilita o modo Picture-in-Picture (PiP) exclusivamente para Android. Ele fornece uma API simples para entrar e gerenciar o modo PiP, ideal para reprodução de vídeo ou tarefas contínuas enquanto navega por outros conteúdos do aplicativo. O plugin gerencia o ciclo de vida e a configuração específicos do Android necessários para o PiP, simplificando a integração em aplicativos existentes. Projetado com configuração mínima, suporta transições entre tela cheia e PiP de forma transparente.
Casos de uso
Reprodução de vídeo em segundo plano
Chamadas de áudio ou vídeo em andamento
Aplicações de transmissão ao vivo
Continuação da tarefa durante a navegação
Melhorias no player de mídia
Principais recursos
Suporte PiP exclusivo para Android
API simples para entrar no PiP
Gerenciamento automático do ciclo de vida
Configuração mínima necessária
Transição sem interrupções entre modos
Indicado para
Aplicativos de vídeo para Android
Players de mídia
Aplicativos de comunicação
Aplicativos que exigem atividade em segundo plano
Desenvolvedores procurando integração fácil de PiP
Considerações
Não disponível no iOS
Requer SDK do Android 26+
Limitado à plataforma Android
Sem personalização para o tamanho da janela PiP
Depende de permissões do nível do sistema Android
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
A complete Picture-In-Picture mode plugin for android API level 26+ (Android Oreo).
Provides methods to check feature availability, enter PIP mode, callbacks for mode change and PIP Actions support.
Add android:supportsPictureInPicture="true" to the activity on your AndroidManifest.xml.
Verify pip support
Use SimplePip.isPipAvailable and SimplePip.isPipActivated static getters to verify whether the device supports Picture In Picture feature and the feature is currently activated respectively.
Entering pip mode
Import simple_pip.dart file and call enterPipMode method.
To use the widget, you need to enable callbacks first.
Import pip_widget.dart file.
Add a PipWidget widget to your tree and give it a child and a pipChild.
[!Note]
builder and pipBuilder are deprecated. Use a Builder as the child or pipChild instead.
import'package:simple_pip_mode/pip_widget.dart';
classMyWidgetextendsStatelessWidget{
Widgetbuild(BuildContext context) {
returnPipWidget(
child: Text('This is built when PIP mode is not active'),
pipChild: Text('This is built when PIP mode is active'),
);
}
}
You can also pass callbacks directly to PipWidget.
Using PIP Actions
To use PIP actions, you need to specify a pipLayout preset on your PipWidget.
The current available action layout presets are focused on giving support to media reproduction controls. They are media, media_only_pause, media_live and mediaWithSeek10. Those are defined on the [PipActionsLayout] enum.
You can also add a onPipAction listener to handle actions callbacks from PipWidget. This can be defined on SimplePip(onPipAction: ...) too.
Every SimplePip method calls android native code, so make sure you only make a call to a SimplePip method when running in an Android device.
This includes SimplePip.isPipAvailable.
Calling SimplePip methods on a non-Android device will raise a MissingPluginException error.