Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Referência da API

Última atualização: Sep 11, 2026

Este tópico descreve as principais APIs do AliPlayerKit. O conteúdo abrange APIs principais, sistema de slots, fontes de vídeo, interfaces do player, armazenamento de estado, sistema de eventos, sistema de logs, interfaces de pré-carregamento, políticas de ciclo de vida e sistema de estratégias.

Nota

O AliPlayerKit oferece comentários completos no código para todas as APIs principais, incluindo classes e métodos. Em IDEs como o Android Studio, use dicas ao passar o mouse ou o recurso Quick Documentation para visualizar esses comentários e aumentar a eficiência do desenvolvimento. Além disso, eles tornam as APIs mais acessíveis a ferramentas de programação com IA, facilitando a compreensão da semântica das APIs.

APIs principais

AliPlayerKit (Interface Global)

A classe AliPlayerKit fornece configuração e inicialização globais. Ela é o único ponto de entrada global para todo o framework do player.

Métodos de inicialização

Método

Parâmetro

Valor de retorno

Descrição

init(Context)

context: contexto da aplicação

void

Inicializa as configurações globais. Chame este método em Application.onCreate().

Consulta de status

Método

Parâmetro

Valor de retorno

Descrição

isInitialized()

-

boolean

Verifica se a inicialização foi concluída.

getContext()

-

Context

Obtém o contexto da aplicação.

getPlayerKitVersion()

-

String

Retorna o número da versão do Kit.

getSdkVersion()

-

String

Retorna o número da versão do SDK subjacente.

getDeviceId()

-

String

Obtém o ID do dispositivo.

Métodos de configuração

Método

Parâmetro

Valor de retorno

Descrição

setDebugModeEnabled(boolean)

enable: especifica se o recurso está ativado.

void

Ativa ou desativa o modo de depuração.

isDebugModeEnabled()

-

boolean

Verifica se o modo de depuração está ativado.

setLogPanelEnabled(boolean)

enable: defina como true para ativar

void

Mostra ou oculta o painel de log.

isLogPanelEnabled()

-

boolean

Verifica se o painel de log está ativado.

setDisableScreenshot(boolean)

disable: especifica se o recurso está desativado.

void

Ativa ou desativa capturas de tela.

isDisableScreenshot()

-

boolean

Verifica se as capturas de tela estão desativadas.

setPlayerViewType(PlayerViewType)

viewType: tipo de visualização

void

Define o tipo de visualização do player.

getPlayerViewType()

-

PlayerViewType

Obtém o tipo atual de visualização do player.

Gerenciamento de cache

Método

Parâmetro

Valor de retorno

Descrição

clearCaches()

-

void

Limpa os caches do player.

APIs globais

Método

Parâmetro

Valor de retorno

Descrição

getLogger()

-

IPlayerLogger

Obtém a instância global do logger.

getPreloader()

-

IPlayerPreloader

Obtém a instância global do preloader.

setLogger(IPlayerLogger)

logger: instância do logger

void

Define uma implementação personalizada de logger.

setPreloader(IPlayerPreloader)

preloader: instância do preloader

void

Define uma implementação personalizada de preloader.

AliPlayerView (Componente de Visualização)

A classe AliPlayerView é o componente principal de visualização do player. Ela cuida da renderização da UI e do gerenciamento de slots. Como camada View na arquitetura MVC, renderiza a interface do player e gerencia seus componentes visuais.

Vinculação do controller

Método

Parâmetro

Valor de retorno

Descrição

attach(AliPlayerController, AliPlayerModel)

controller, model

void

Vincula o controller e os dados usando a UI padrão.

attach(AliPlayerController, AliPlayerModel, SlotRegistry)

controller, model, registry

void

Vincula o controller e os dados usando uma UI personalizada.

detach()

-

void

Desvincula e libera recursos.

Ciclo de vida

Método

Parâmetro

Valor de retorno

Descrição

bindLifecycle(LifecycleOwner)

lifecycleOwner

boolean

Vincula o ciclo de vida.

Outros métodos

Método

Parâmetro

Valor de retorno

Descrição

onBackPressed()

-

boolean

Trata o pressionamento do botão voltar. Retorna true se tratado.

getSlotManager()

-

ISlotManager

Obtém o gerenciador de slots.

AliPlayerController (Controller)

A classe AliPlayerController controla a lógica de reprodução e o gerenciamento de estado. Atuando como a camada Controller na arquitetura MVC, ela coordena as interações entre as camadas View e Model.

Construtores

Método

Parâmetro

Descrição

AliPlayerController(Context)

context: contexto da aplicação

Crie um controller usando a política de ciclo de vida padrão.

AliPlayerController(Context, IPlayerLifecycleStrategy)

context, lifecycleStrategy

Crie um controller usando uma política de ciclo de vida personalizada.

Configuração e inicialização

Método

Parâmetro

Valor de retorno

Descrição

configure(AliPlayerModel)

model: dados de reprodução

void

Configure os dados de reprodução.

getModel()

-

AliPlayerModel

Obtém a configuração atual dos dados de reprodução.

getPlayer()

-

IMediaPlayer

Obtém a instância do player.

destroy()

-

void

Destrói o player.

Gerenciamento de estado

Método

Parâmetro

Valor de retorno

Descrição

getStateStore()

-

IPlayerStateStore

Obtém o repositório de estado do player.

getStrategyManager()

-

StrategyManager

Obtém o gerenciador de estratégias.

Configurações de visualização

Método

Parâmetro

Valor de retorno

Descrição

setDisplayView(AliDisplayView)

displayView

void

Defina a view de exibição.

setSurface(Surface)

surface

void

Defina a Surface.

surfaceChanged()

-

void

Notifica que a Surface foi alterada.

Métodos de ciclo de vida

Método

Parâmetro

Valor de retorno

Descrição

onResume()

-

void

Retoma a reprodução manualmente fora de um contexto LifecycleOwner.

onPause()

-

void

Pausa a reprodução manualmente fora de um contexto LifecycleOwner.

AliPlayerModel (Modelo de Dados)

A classe AliPlayerModel encapsula os dados de configuração de reprodução. Como camada Model na arquitetura MVC, armazena todos os dados de configuração necessários ao player. Utilize o padrão Builder para criar instâncias.

Métodos do Builder

Método

Parâmetro

Descrição

videoSource(VideoSource)

objeto de fonte de vídeo

Defina a fonte de vídeo. Obrigatório.

sceneType(int)

tipo de cena

Defina o tipo de cena de reprodução.

coverUrl(String)

URL da miniatura

Defina a URL da miniatura.

videoTitle(String)

título do vídeo

Defina o título do vídeo.

autoPlay(boolean)

Reprodução automática

Defina se a reprodução automática deve ser ativada.

traceId(String)

ID de rastreamento

Defina o ID de rastreamento.

startTime(long)

posição inicial

Defina a posição inicial em milissegundos.

isHardWareDecode(boolean)

Decodificação por hardware ativada?

Defina se a decodificação por hardware deve ser ativada.

allowedScreenSleep(boolean)

Hibernação suportada?

Defina se permite a suspensão da tela.

build()

-

Constrói uma instância de AliPlayerModel.

Acessadores de propriedades

Método

Valor de retorno

Descrição

getVideoSource()

VideoSource

Obtém o objeto de fonte de vídeo.

getSceneType()

int

Obtém o tipo de cena de reprodução.

getCoverUrl()

String

Obtém a URL da miniatura.

getVideoTitle()

String

Obtém o título do vídeo.

isAutoPlay()

boolean

Verifica se a reprodução automática está ativada.

getTraceId()

String

Obtém o ID de rastreamento.

getStartTime()

long

Obtém a posição inicial.

isHardWareDecode()

boolean

Verifica se a decodificação por hardware está ativada.

isAllowedScreenSleep()

boolean

Verifica se a suspensão da tela é permitida.

Sistema de Slots

O sistema de slots é o mecanismo de extensão de UI do AliPlayerKit. Ele permite personalizar componentes individuais da interface do player.

ISlotManager (Interface de Gerenciamento de Slots)

A interface ISlotManager fornece capacidades de gerenciamento de slots. Obtenha-a através de AliPlayerView.getSlotManager().

  • Método

    Parâmetro

    Valor de retorno

    Descrição

    rebuildSlots()

    -

    void

    Reconstrói todos os slots após modificar o SlotRegistry.

    getSlotView(SlotType)

    slotType: tipo de slot

    View

    Obtém a view do slot para o tipo especificado.

    bindData(AliPlayerModel)

    model: dados de reprodução

    void

    Vincula dados de reprodução ao sistema de slots.

    unbindData()

    -

    void

    Desvincula os dados de reprodução.

    updateSceneType(int)

    sceneType: tipo de cena

    void

    Atualize o tipo de cena e reconstrói os slots.

SlotRegistry (Registro de Slots)

A classe SlotRegistry registra slots personalizados. Passe-a para AliPlayerView.attach().

Métodos de registro

Método

Parâmetro

Descrição

register(SlotType, SlotBuilder)

type, builder

Registra um construtor de slot.

register(SlotType, Class<? extends View>)

type, slotClass

Registra uma classe de slot. A classe é criada via reflexão.

register(SlotType, int)

type, layoutId

Registra um recurso de layout como um slot.

Métodos de gerenciamento

Método

Valor de retorno

Descrição

unregister(SlotType)

SlotBuilder

Cancele o registro de um construtor de slot.

isRegistered(SlotType)

boolean

Verifica se está registrado.

clear()

void

Limpa todos os registros.

size()

int

Obtém o número de slots registrados.

ISlot (Interface de Slot)

Slots personalizados devem implementar a interface ISlot para definir seu ciclo de vida.

Método

Descrição

onAttach(SlotHost)

Chamado quando o slot é anexado ao seu host.

onDetach()

Chamado quando o slot é desanexado do seu host.

onBindData(AliPlayerModel)

Chamado quando os dados de reprodução são vinculados.

onUnbindData()

Chamado quando os dados de reprodução são desvinculados.

Nota

Recomendamos estender BaseSlot para implementar slots personalizados. O framework gerencia automaticamente os ciclos de vida de assinatura de eventos.

SlotType (Tipos de Slot)

Constante

Descrição

SlotType.PLAYER_SURFACE

Slot de surface view do player: view principal usada para renderizar o conteúdo de vídeo.

SlotType.FULLSCREEN

Slot de gerenciamento de tela cheia: gerencia a lógica de alternância para tela cheia.

SlotType.GESTURE_CONTROL

Slot de controle por gestos: trata controles como toque, toque duplo, pressão longa e arrastar.

SlotType.LANDSCAPE_HINT

Slot de dica de paisagem: sugere aos usuários assistir vídeos horizontais em tela cheia.

SlotType.COVER

Slot de imagem de capa: exibe a imagem de capa do vídeo.

SlotType.CENTER_DISPLAY

Slot de exibição central: mostra informações de status na área central, como velocidade de reprodução, brilho e volume.

SlotType.PLAY_STATE

Slot de estado de reprodução: exibe informações sobre o estado, como mensagens de erro e indicadores de carregamento.

SlotType.LOG_PANEL

Slot de painel de log: exibe informações de log do player para depuração.

SlotType.TOP_BAR

Slot da barra de controle superior: exibe o botão voltar, título e configurações.

SlotType.BOTTOM_BAR

Slot da barra de controle inferior: exibe controles de reprodução, barra de progresso e alternância de tela cheia.

SlotType.SETTING_MENU

Slot do menu de configurações: exibe o menu de ajustes, incluindo opções de velocidade, definição, espelhamento e rotação.

SceneType (Cenas de Reprodução)

Constante

Valor

Descrição

SceneType.VOD

0

Cena de vídeo sob demanda: reprodução padrão com controles completos.

SceneType.LIVE

1

Cena de transmissão ao vivo: reprodução de stream em tempo real sem busca ou controle de velocidade.

SceneType.VIDEO_LIST

2

Cena de lista de vídeos: player usado em uma lista. Desativa gestos verticais.

SceneType.RESTRICTED

3

Cena de reprodução restrita: limita operações na linha do tempo. Usada em educação e treinamento.

SceneType.MINIMAL

4

Cena de reprodução mínima: mostra apenas a view de reprodução, sem elementos de UI.

PlayerViewType (Tipos de Visualização do Player)

Constante

Descrição

PlayerViewType.DISPLAY_VIEW

AliDisplayView (recomendado): componente oficial de visualização com melhor compatibilidade e desempenho.

PlayerViewType.SURFACE_VIEW

SurfaceView: usa uma thread de renderização separada, mas não suporta animações.

PlayerViewType.TEXTURE_VIEW

TextureView: suporta animações e transformações. Ideal para cenários que exigem animações de view.

Fontes de Vídeo

VideoSourceFactory (Fábrica de Fontes de Vídeo)

Método

Parâmetro

Valor de retorno

Descrição

VideoSourceFactory.createVidAuthSource(String, String)

vid, playAuth

VideoSource

Crie uma fonte de vídeo VidAuth (recomendado).

VideoSourceFactory.createVidStsSource(String, String, String, String, String)

vid, accessKeyId, accessKeySecret, securityToken, region

VideoSource

Crie uma fonte de vídeo VidSts.

VideoSourceFactory.createUrlSource(String)

url: URL do vídeo

VideoSource

Crie uma fonte de vídeo baseada em URL.

Nota

Em ambientes de produção, utilize o método VidAuth. Ele oferece maior segurança e integração com os services VOD da Alibaba Cloud para recursos avançados de reprodução. Para mais informações, consulte Multiple video source support.

VideoSource (Fonte de Vídeo)

Método

Valor de retorno

Descrição

isValid()

boolean

Verifica se a fonte de vídeo é válida.

getType()

int

Obtém o tipo da fonte de vídeo.

getSourceId()

String

Obtém o ID da fonte de vídeo.

Interfaces do Player

IMediaPlayer (Interface do Media Player)

A interface IMediaPlayer define as operações principais do player. Obtenha-a através de AliPlayerController.getPlayer().

Controles de reprodução

Método

Parâmetro

Descrição

start()

-

Inicia a reprodução.

pause()

-

Pausa a reprodução.

toggle()

-

Alterna entre reproduzir e pausar.

stop()

-

Interrompe a reprodução.

replay()

-

Reinicia o vídeo.

seekTo(long)

positionMs

Busca a posição especificada em milissegundos.

release()

-

Libera os recursos do player.

Fontes de dados

Método

Parâmetro

Descrição

setDataSource(AliPlayerModel)

model

Defina a fonte de dados de vídeo.

Configurações de visualização

Método

Parâmetro

Descrição

setDisplayView(AliDisplayView)

displayView

Defina a view de exibição.

setSurface(Surface)

surface

Defina a Surface de renderização.

surfaceChanged()

-

Notifica que a Surface foi alterada.

Configurações de reprodução

Método

Parâmetro

Descrição

setSpeed(float)

speed

Defina a velocidade de reprodução (0.3 a 3.0).

setLoop(boolean)

loop

Ative ou desative o loop.

setMute(boolean)

mute

Silencia o áudio.

setScaleType(int)

scaleType

Defina o modo de preenchimento de renderização.

setMirrorType(int)

mirrorType

Defina o modo de espelhamento.

setRotation(int)

rotation

Defina o ângulo de rotação.

selectTrack(TrackQuality)

trackQuality

Selecione a definição do vídeo.

snapshot()

-

Captura uma imagem da tela.

Consultas de estado

Método

Valor de retorno

Descrição

getPlayerId()

String

Obtém o identificador único do player.

getStateStore()

IPlayerStateStore

Obtém a interface do repositório de estado.

ScaleType (Modos de Preenchimento de Renderização)

Constante

Valor

Descrição

ScaleType.FIT_XY

0

Estica para preencher a view.

ScaleType.FIT_CENTER

1

Ajusta preservando a proporção (pode mostrar barras pretas).

ScaleType.CENTER_CROP

2

Corta para preencher preservando a proporção.

MirrorType (Modos de Espelhamento)

Constante

Valor

Descrição

MirrorType.NONE

0

Sem espelhamento.

MirrorType.HORIZONTAL

1

Espelhamento horizontal.

MirrorType.VERTICAL

2

Espelhamento vertical.

Rotation (Ângulos de Rotação)

Constante

Valor

Descrição

Rotation.DEGREE_0

0

0 graus.

Rotation.DEGREE_90

90

90 graus.

Rotation.DEGREE_180

180

180 graus.

Rotation.DEGREE_270

270

270 graus.

Interface de Armazenamento de Estado

IPlayerStateStore (Armazenamento de Estado do Player)

A interface IPlayerStateStore fornece acesso somente leitura ao estado do player. Obtenha-a através de AliPlayerController.getStateStore() ou IMediaPlayer.getStateStore().

Estado de reprodução

Método

Valor de retorno

Descrição

getPlayState()

PlayerState

Obtém o estado atual de reprodução.

getDuration()

long

Obtém a duração total do vídeo em milissegundos.

getCurrentPosition()

long

Obtém a posição atual de reprodução em milissegundos.

getCurrentSpeed()

float

Obtém a velocidade atual de reprodução.

Configurações de vídeo

Método

Valor de retorno

Descrição

getVideoSize()

VideoSize

Obtém o tamanho do vídeo (pode ser nulo).

getCurrentRotation()

int

Obtém o ângulo de rotação atual.

getCurrentScaleType()

int

Obtém o modo de preenchimento atual.

getCurrentMirrorType()

int

Obtém o modo de espelhamento atual.

Configurações de reprodução

Método

Valor de retorno

Descrição

isLoop()

boolean

Verifica se o loop está ativado.

isMute()

boolean

Verifica se o áudio está silenciado.

isFullscreen()

boolean

Verifica se o player está em tela cheia.

Definição

Método

Valor de retorno

Descrição

getTrackQualityList()

List

Obtém a lista de definições disponíveis.

getCurrentTrackIndex()

int

Obtém o índice da definição atual.

PlayerState (Estados de Reprodução)

Constante

Descrição

PlayerState.UNKNOWN

Estado desconhecido: o estado do player é desconhecido ou não inicializado.

PlayerState.IDLE

Ocioso: o player foi criado mas ainda não inicializado, ou os recursos foram liberados.

PlayerState.INITIALIZING

Inicializando: o player está sendo inicializado e preparando para carregar recursos de vídeo.

PlayerState.INITIALIZED

Inicializado: o player está totalmente inicializado, mas ainda não pronto para reproduzir.

PlayerState.PREPARING

Preparando: o player está preparando recursos de vídeo e analisando informações.

PlayerState.PREPARED

Preparado: o player está pronto para iniciar a reprodução.

PlayerState.PLAYING

Reproduzindo: o player está ativamente reproduzindo o vídeo.

PlayerState.PAUSED

Pausado: o player está pausado.

PlayerState.COMPLETED

Concluído: a reprodução do vídeo terminou.

PlayerState.STOPPED

Parado: o player está parado.

PlayerState.ERROR

Erro: ocorreu um erro durante a reprodução.

Sistema de Eventos

PlayerEventBus (Barramento de Eventos)

A classe PlayerEventBus atua como barramento global de eventos para publicar e assinar eventos do player.

Métodos de assinatura

Método

Parâmetro

Descrição

subscribe(Class<T>, EventListener<T>)

eventType, listener

Assina eventos do tipo especificado.

unsubscribe(Class<T>, EventListener<T>)

eventType, listener

Cancele a assinatura de eventos do tipo especificado.

unsubscribe(EventListener<?>)

listener

Cancele a assinatura do listener para todos os tipos de evento.

unsubscribeAll()

-

Limpa todas as assinaturas. Use com cautela.

Métodos de publicação

Método

Parâmetro

Descrição

post(PlayerEvent)

event

Publica um evento.

Métodos de consulta

Método

Valor de retorno

Descrição

getSubscriberCount(Class<?>)

int

Obtém o número de assinantes para o tipo de evento especificado.

hasSubscribers(Class<?>)

boolean

Verifica se existem assinantes para o tipo de evento especificado.

PlayerCommand (Comandos do Player)

Os comandos do player controlam seu comportamento. Publique-os usando PlayerEventBus.post().

Classe de comando

Parâmetro

Descrição

PlayerCommand.Play

playerId

Comando de reprodução.

PlayerCommand.Pause

playerId

Comando de pausa.

PlayerCommand.Toggle

playerId

Alterna entre reproduzir e pausar.

PlayerCommand.Stop

playerId

Comando de parada.

PlayerCommand.Replay

playerId

Comando de reinício.

PlayerCommand.Seek

playerId, position

Comando de busca. A posição é em milissegundos.

PlayerCommand.SetSpeed

playerId, speed

Defina a velocidade de reprodução (0.3 a 3.0).

PlayerCommand.Snapshot

playerId

Comando de captura de tela.

PlayerCommand.SetLoop

playerId, loop

Defina o modo de loop.

PlayerCommand.SetMute

playerId, mute

Defina o silêncio.

PlayerCommand.SetScaleType

playerId, scaleType

Defina o modo de preenchimento de renderização.

PlayerCommand.SetMirrorType

playerId, mirrorType

Defina o modo de espelhamento.

PlayerCommand.SetRotation

playerId, rotation

Defina o ângulo de rotação.

PlayerCommand.SelectTrack

playerId, trackQuality

Permite trocar a resolução.

Exemplo de uso

// Post a play command.
PlayerEventBus.getInstance().post(new PlayerCommand.Play(playerId));

// Post a seek command.
PlayerEventBus.getInstance().post(new PlayerCommand.Seek(playerId, 5000));

// Set the playback speed.
PlayerEventBus.getInstance().post(new PlayerCommand.SetSpeed(playerId, 1.5f));     

PlayerEvents (Eventos do Player)

Alterações no estado do player são publicadas como eventos. Assine-os para monitorá-los.

Classe de evento

Propriedade

Descrição

PlayerEvents.StateChanged

oldState, newState

O estado de reprodução mudou.

PlayerEvents.Prepared

duration

O player está preparado.

PlayerEvents.FirstFrameRendered

-

Primeiro quadro renderizado.

PlayerEvents.VideoSizeChanged

width, height

O tamanho do vídeo mudou.

PlayerEvents.Info

duration, currentPosition, bufferedPosition

Informações de reprodução atualizadas.

PlayerEvents.Error

errorCode, errorMsg

Evento de erro.

PlayerEvents.LoadingBegin

-

Carregamento iniciado.

PlayerEvents.LoadingProgress

percent, netSpeed

Progresso do carregamento.

PlayerEvents.LoadingEnd

-

Carregamento finalizado.

PlayerEvents.SetSpeedCompleted

speed

Definição de velocidade concluída.

PlayerEvents.SnapshotCompleted

result, snapshotPath, width, height

Captura de tela concluída.

PlayerEvents.SetLoopCompleted

loop

Definição de loop concluída.

PlayerEvents.SetMuteCompleted

mute

Definição de silêncio concluída.

PlayerEvents.SetScaleTypeCompleted

scaleType

Definição de modo de preenchimento concluída.

PlayerEvents.SetMirrorTypeCompleted

mirrorType

Definição de espelhamento concluída.

PlayerEvents.SetRotationCompleted

rotation

Definição de rotação concluída.

PlayerEvents.TrackQualityListUpdated

trackQualityList

Lista de definições atualizada.

PlayerEvents.TrackSelected

trackIndex

Seleção de definição concluída.

Exemplo de uso

// Subscribe to a playback event.
PlayerEventBus.getInstance().subscribe(PlayerEvents.Prepared.class, event -> {
    long duration = event.duration;  // Total video duration
});

// Subscribe to an error event.
PlayerEventBus.getInstance().subscribe(PlayerEvents.Error.class, event -> {
    int code = event.errorCode;
    String msg = event.errorMsg;
});         

Sistema de Logs

IPlayerLogger (Interface de Logging)

A interface IPlayerLogger fornece configuração global de logs. Obtenha-a através de AliPlayerKit.getLogger().

Método

Parâmetro

Valor de retorno

Descrição

enableConsoleLog(boolean)

enable

void

Ative ou desative logs no console.

isConsoleLogEnabled()

-

boolean

Verifica se o log no console está ativado.

setLogLevel(int)

level

void

Defina o nível de log.

getLogLevel()

-

int

Obtém o nível atual de log.

setLogCallback(LoggerCallback)

callback

void

Defina o listener de callback de log.

LogLevel (Níveis de Log)

Constante

Valor

Descrição

LogLevel.VERBOSE

0

Nível mais detalhado. Registra todas as informações de depuração.

LogLevel.DEBUG

1

Nível de depuração.

LogLevel.INFO

2

Nível informativo.

LogLevel.WARN

3

Nível de aviso.

LogLevel.ERROR

4

Nível de erro.

LogLevel.NONE

100

Desativa todos os logs.

Interfaces de Pré-carregamento

IPlayerPreloader (Interface de Pré-carregamento)

A interface IPlayerPreloader fornece gerenciamento global de pré-carregamento. Obtenha-a através de AliPlayerKit.getPreloader().

Método

Parâmetro

Valor de retorno

Descrição

addTask(PlayerPreloadTask, PreloadCallback)

task, listener

String

Adiciona uma tarefa de pré-carregamento e retorna seu ID.

cancelTask(String)

taskId

void

Cancele a tarefa especificada.

pauseTask(String)

taskId

void

Pausa a tarefa especificada.

resumeTask(String)

taskId

void

Retoma a tarefa especificada.

PreloadCallback (Callback de Pré-carregamento)

Método

Parâmetro

Descrição

onCompleted(String, VideoSource)

taskId, source

Pré-carregamento concluído.

onError(String, VideoSource, int, String)

taskId, source, code, message

Erro no pré-carregamento.

onCanceled(String, VideoSource)

taskId, source

Pré-carregamento cancelado.

Políticas de Ciclo de Vida do Player

IPlayerLifecycleStrategy (Interface de Política de Ciclo de Vida do Player)

A interface IPlayerLifecycleStrategy define como as instâncias do player são gerenciadas ao longo de seu ciclo de vida. Ela otimiza a criação e reutilização de instâncias.

Método

Parâmetro

Valor de retorno

Descrição

init(IPlayerFactory)

factory

void

Inicializa a política.

acquire(Context, String)

context, uniqueId

IMediaPlayer

Obtém uma instância do player.

recycle(IMediaPlayer, String, boolean)

player, uniqueId, force

void

Recicla uma instância do player.

clear()

-

void

Limpa todos os recursos.

preload(Context, int)

context, count

void

Pré-carrega instâncias do player.

Políticas integradas

Classe de política

Descrição

DefaultLifecycleStrategy

Política padrão: crie uma nova instância a cada vez e a destrói imediatamente após o uso.

ReusePoolLifecycleStrategy

Política de pool de reutilização: ideal para listas de vídeos em streaming.

IdScopedPoolLifecycleStrategy

Política com escopo de ID: vincula uma instância a um único ID.

SingletonLifecycleStrategy

Política singleton: apenas uma instância global.

Para mais informações, consulte Player lifecycle policies.

Sistema de Estratégias

StrategyManager (Gerenciador de Estratégias)

A classe StrategyManager gerencia o ciclo de vida de todas as estratégias. Obtenha-a através de AliPlayerController.getStrategyManager().

Método

Parâmetro

Valor de retorno

Descrição

register(IStrategy)

strategy

void

Registra uma estratégia.

unregister(IStrategy)

strategy

void

Cancele o registro da estratégia.

getStrategy(String)

name

IStrategy

Obtém uma estratégia pelo nome.

start(StrategyContext)

context

void

Inicia todas as estratégias.

stop()

-

void

Para todas as estratégias.

reset()

-

void

Redefine todas as estratégias.

updateContext(StrategyContext)

context

void

Atualize o contexto e reinicia as estratégias.

destroy()

-

void

Destrói o gerenciador.

getStrategyCount()

-

int

Obtém o número de estratégias registradas.

isStarted()

-

boolean

Verifica se foi iniciado.

IStrategy (Interface de Estratégia)

Método

Descrição

getName()

Obtém o nome da estratégia.

onStart(StrategyContext)

Chamado quando a estratégia inicia.

onStop()

Chamado quando a estratégia para.

onReset()

Chamado quando a estratégia é redefinida.