Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Referência de API

Última atualização: Sep 11, 2026

O AliPlayerKit oferece um conjunto abrangente de APIs para controlar o comportamento do player. Este documento detalha as principais APIs do AliPlayerKit para iOS.

Nota

O AliPlayerKit inclui comentários de código detalhados para todas as APIs principais, como classes e métodos. No Xcode, visualize esses comentários com o Quick Help (Option + Clique em) para acelerar o desenvolvimento. Isso também torna as APIs mais compatíveis com ferramentas de programação assistidas por IA.

Visão geral das classes principais

Nome da classe

Tipo

Responsabilidade

Ciclo de vida

AliPlayerKit

Ponto de entrada global

Inicialização do SDK, configuração global, gerenciamento de factory/preloader

Ciclo de vida do aplicativo

AliPlayerView

Contêiner de visualização

Gerenciamento da visualização do player, host do sistema de slots

Igual ao UIView

AliPlayerController

Controlador de reprodução

Controle de reprodução, gerenciamento de status, coordenação de estratégias

Liberado manualmente por destroy

AliPlayerModel

Modelo de dados

Encapsula a source de vídeo e os parâmetros de reprodução

Objeto de valor, sem ciclo de vida independente

PlayerStateStore

Armazenamento de status

Acesso somente leitura ao status atual do player

Segue o Controller

PlayerViewState

Status da visualização

Acesso somente leitura ao status da camada de UI (tela cheia, visibilidade da barra de controle)

Segue o AliPlayerView

SlotManager

Gerenciador de slots

Registro de slots, controle de visibilidade, gerenciamento no nível de elemento

Segue o AliPlayerView

StrategyManager

Gerenciador de estratégias

Registro, início, parada e redefinição de estratégias

Segue o Controller

StrategyRegistry

Registro de estratégias

Gerenciamento global da factory de estratégias padrão (singleton)

Ciclo de vida do aplicativo

LogHub

Central de logs

Saída de log e gerenciamento de observadores (singleton)

Ciclo de vida do aplicativo

LocaleManager

Gerenciamento de localização

Suporte multilíngue e injeção de Provider (singleton)

Ciclo de vida do aplicativo

AliPlayerKit (APIs Globais)

O AliPlayerKit é uma classe de configurações globais para inicialização e configuração do SDK. Não é possível instanciar esta classe. Todos os seus métodos são métodos de classe.

Métodos de inicialização

Método

Parâmetro

Valor de retorno

Descrição

+ (void)setup

-

void

Inicializa o SDK. O dispatch_once garante a idempotência. Chame este método na inicialização do aplicativo.

+ (BOOL)isInitialized

-

BOOL

Verifica se o SDK foi inicializado.

+ (void)setOnGlobalInitBlock:

Bloco OnGlobalInitBlock

void

Defina um callback de configuração personalizado após a conclusão da inicialização global. Chame este método antes de setup.

Consulta de status e informações de versão

Método

Parâmetro

Valor de retorno

Descrição

+ (NSString *)getPlayerKitVersion

-

NSString *

Obtém o número da versão do PlayerKit.

+ (NSString *)getSdkVersion

-

NSString *

Obtém o número da versão do SDK AliPlayer subjacente.

Configurações de depuração

Método

Parâmetro

Valor de retorno

Descrição

+ (void)setDebugModeEnabled:

BOOL enabled

void

Ative ou desative o modo de depuração.

+ (BOOL)isDebugModeEnabled

-

BOOL

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

+ (void)setLogPanelEnabled:

BOOL enabled

void

Ative ou desative o painel de log. Este recurso destina-se apenas à depuração.

+ (BOOL)isLogPanelEnabled

-

BOOL

Verifica se o painel de log está ativado.

Configurações de log

Método

Parâmetro

Valor de retorno

Descrição

+ (void)setLogLevel:

LogLevel level

void

Defina o nível de log. Logs abaixo deste nível são ignorados. O nível padrão é Info.

+ (LogLevel)logLevel

-

LogLevel

Obtém o nível de log atual.

+ (void)enableConsoleLog:

BOOL enable

void

Ative ou desative a saída de log no console.

+ (BOOL)isConsoleLogEnabled

-

BOOL

Verifica se a saída de log no console está ativada.

Factory do player

Método

Parâmetro

Descrição

+ (void)setPlayerFactory:

id<PlayerFactory> factory

Defina uma factory de player personalizada. Passe nil para restaurar a factory padrão.

+ (id<PlayerFactory>)playerFactory

-

Obtém a factory de player atual.

Pré-carregamento

Método

Parâmetro

Descrição

+ (void)setPreloader:

id<PlayerPreloader> preloader

Defina um preloader personalizado. Passe nil para restaurar o preloader padrão.

+ (id<PlayerPreloader>)preloader

-

Obtém o preloader atual.

Gerenciamento de cache

Método

Descrição

+ (void)clearCaches

Limpa o cache de mídia local do player. Chame este método após setup.

Internacionalização

Método

Parâmetro

Descrição

+ (void)setLanguageCode:

NSString * languageCode

Especifique manualmente o idioma. Os idiomas suportados são zh-Hans e en.

+ (void)setLocaleProvider:

id<LocaleProvider> provider

Injeta um provedor de localização personalizado. Esta opção tem a maior prioridade.

+ (void)resetLocaleToSystemLanguage

-

Redefine o idioma para seguir o idioma do sistema.

+ (NSString *)currentLanguageCode

-

Obtém o código do idioma atual.

AliPlayerView (APIs de Visualização)

O AliPlayerView atua como contêiner de visualização do player. Ele gerencia a vinculação do controlador e o sistema de slots. O PlayerSurfaceSlot interno cria e gerencia a visualização de renderização.

Propriedades

Propriedade

Tipo

Descrição

controller

AliPlayerController *

O controlador do player associado.

viewState

PlayerViewState *

O status da UI mantido entre diferentes vídeos, como tela cheia e visibilidade da barra de controle.

slotManager

SlotManager *

O gerenciador de slots. É possível pré-configurá-lo antes da vinculação.

fullscreenTransition

id<FullscreenTransition>

A implementação da animação de transição para tela cheia. Por padrão, utiliza-se uma solução independente de rotação de janela.

onBackPressed

void (^)(void)

O callback para o evento do botão voltar.

Nota

O callback onBackPressed é acionado no modo fora de tela cheia. No modo de tela cheia, o player lida automaticamente com a operação de volta saindo da tela cheia. Se este callback não estiver definido, o player tentará um comportamento de navegação padrão, como pop ou dismiss, através da cadeia de responsividade.

Vinculação do controlador

Método

Parâmetro

Descrição

- (void)attach:

AliPlayerController * controller

Vincula o controlador e ative o sistema de slots.

- (void)detach

-

Desvincula o controlador sem destruí-lo.

Momento da chamada:

  • attach:: O componente é vinculado após o controlador chamar configure:. Em seguida, o sistema de slots é construído automaticamente com base na configuração do slotManager.

  • detach: Chame este método quando a visualização estiver prestes a ser destruída ou quando for necessário vincular um controlador diferente.

AliPlayerController (APIs do Controlador)

O AliPlayerController é o controlador de reprodução. Ele serve como ponto de entrada unificado para operações de reprodução e encapsula a lógica de criação, configuração e controle do player.

Propriedades

Propriedade

Tipo

Descrição

playerModel

AliPlayerModel *

O modelo de configuração de reprodução atual.

playerState

PlayerState

O status atual do player.

currentPosition

NSInteger

A posição atual de reprodução em milissegundos.

duration

NSInteger

A duração total do vídeo em milissegundos.

stateStore

PlayerStateStore *

O armazenamento de status.

strategyManager

StrategyManager *

O gerenciador de estratégias.

lifecycleStrategy

id<PlayerLifecycleStrategy>

A estratégia de ciclo de vida atual.

autoLifecycleManagement

BOOL

Especifique se o ciclo de vida em primeiro plano e segundo plano deve ser gerenciado automaticamente. Padrão: YES.

controlsVisibilityLocked

BOOL

A flag de bloqueio para a visibilidade da barra de controle.

Nota

Quando controlsVisibilityLocked está definido como YES, a solicitação setControlsVisible:NO é ignorada e a barra de controle permanece visível. Isso é útil em cenários interativos, como ao arrastar a barra de progresso, onde a barra de controle deve estar sempre exibida.

Construtores

Método

Parâmetro

Descrição

- (instancetype)init

-

Crie um controlador com a estratégia de ciclo de vida padrão.

- (instancetype)initWithLifecycleStrategy:

id<PlayerLifecycleStrategy> strategy

Crie um controlador com uma estratégia de ciclo de vida personalizada.

Configuração e controle de reprodução

Método

Parâmetro

Descrição

- (void)configure:

AliPlayerModel * model

Configure o player e prepare para reprodução.

- (void)play

-

Inicia ou retoma a reprodução.

- (void)pause

-

Pausa a reprodução.

- (void)toggle

-

Alterna entre reproduzir e pausar.

- (void)replay

-

Reinicia a reprodução desde o início.

- (void)stop

-

Interrompe a reprodução.

- (void)seekTo:

NSInteger position (milissegundos)

Busca uma posição específica.

- (void)setRate:

float rate

Defina a velocidade de reprodução. 1.0 é a velocidade normal.

- (void)setLoop:

BOOL loop

Defina se a reprodução deve ser em loop.

- (void)setMuted:

BOOL muted

Defina se o áudio deve ser silenciado.

- (void)setMirrorMode:

MirrorMode mirrorMode

Defina o modo espelho.

- (void)setScaleMode:

ScaleMode scaleMode

Defina o modo de dimensionamento.

- (void)setRotateMode:

RotateMode rotateMode

Defina o ângulo de rotação.

- (void)selectTrack:

TrackQuality * quality

Alterna a qualidade do vídeo.

- (void)snapshot

-

Captura um snapshot do quadro de vídeo atual.

Controle de UI

Método

Parâmetro

Valor de retorno

Descrição

- (void)setControlsVisible:

BOOL visible

void

Defina a visibilidade da barra de controle.

- (void)setFullscreen:

BOOL fullscreen

void

Defina o modo de tela cheia com animação.

- (void)setFullscreen:animated:

BOOL fullscreen, BOOL animated

void

Defina o modo de tela cheia com animação opcional.

Métodos de ciclo de vida

Método

Parâmetro

Valor de retorno

Descrição

- (void)onResume

-

void

Retoma a reprodução. Chame este método ao retornar do segundo plano.

- (void)onPause

-

void

Pausa a reprodução. Chame este método ao entrar em segundo plano.

- (void)destroy

-

void

Destrói o player e libera todos os recursos.

Delegates de notificação

Método

Parâmetro

Valor de retorno

Descrição

- (void)addNotificationDelegate:

id<PlayerNotificationDelegate> delegate

void

Adiciona um delegate de notificação. Mantido por referência fraca.

- (void)removeNotificationDelegate:

id<PlayerNotificationDelegate> delegate

void

Remove um delegate de notificação.

AliPlayerModel (APIs do Modelo)

O AliPlayerModel é o modelo de configuração do player. Ele encapsula todas as informações de configuração necessárias para a reprodução.

Propriedades

Propriedade

Tipo

Valor padrão

Descrição

videoSource

VideoSource *

-

A source de dados de vídeo. Obrigatório.

sceneType

SceneType

SceneTypeVOD

O tipo de cenário de reprodução.

coverUrl

NSString *

nil

A url da miniatura.

videoTitle

NSString *

nil

O título do vídeo.

autoPlay

BOOL

YES

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

traceId

NSString *

nil

O identificador de rastreamento para monitoramento da qualidade de reprodução.

startTime

NSInteger

0

A posição inicial em milissegundos.

hardwareDecode

BOOL

YES

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

allowScreenSleep

BOOL

NO

Especifique se a tela pode entrar em suspensão.

disableScreenshot

BOOL

NO

Especifique se capturas de tela e gravação de tela devem ser desativadas.

onPlayerConfigBlock

void (^)(id<MediaPlayer>)

nil

O callback de configuração personalizada no nível da instância.

Métodos de criação

Método

Parâmetro

Valor de retorno

Descrição

- (instancetype)initWithVideoSource:

VideoSource * videoSource

AliPlayerModel *

Crie um modelo a partir de uma source de vídeo. Este é o inicializador designado.

Sistema de notificações

O AliPlayerKit utiliza o padrão Dispatcher + Delegate para comunicação de eventos entre componentes. Cada AliPlayerController possui uma instância Dispatcher independente, o que evita interferências entre eventos de diferentes instâncias do player. Todos os callbacks são despachados na thread principal.

PlayerNotificationDelegate (Delegate de notificação do player)

Protocolo para callbacks de mudança de status do player. Todos os métodos são @optional.

Status de reprodução

Método

Parâmetro

Descrição

- playerDidChangeState:

PlayerState state

O status do player foi alterado.

- playerDidPreparedWithDuration:

NSInteger duration (milissegundos)

O player está preparado e pronto para reprodução.

- playerDidRenderFirstFrame

-

O primeiro quadro foi renderizado.

- playerDidCompletion

-

A reprodução foi concluída.

Progresso da reprodução

Método

Parâmetro

Descrição

- playerDidUpdateCurrentPosition:duration:bufferedPosition:

position, duration, bufferedPosition (milissegundos)

Relata o progresso da reprodução em intervalos regulares.

Erros e snapshots

Método

Parâmetro

Descrição

- playerDidEncounterError:

NSError * error

Ocorreu um erro de reprodução.

- playerDidCompleteSnapshot:

UIImage *

Um snapshot foi capturado.

Informações do vídeo

Método

Parâmetro

Descrição

- playerDidChangeVideoWidth:height:

NSInteger width, height

As dimensões do vídeo foram alteradas.

Status da UI

Método

Parâmetro

Descrição

- playerDidChangeFullscreen:

BOOL isFullscreen

O status de tela cheia foi alterado.

- playerDidChangeControlsVisible:

BOOL visible

A visibilidade da barra de controle foi alterada.

Status de carregamento

Método

Parâmetro

Descrição

- playerDidLoadingBegin

-

O buffer começou a carregar.

- playerDidLoadingEnd

-

O carregamento do buffer terminou.

- playerDidUpdateLoadingProgress:

float progress (0-100)

O progresso do buffer foi atualizado.

Modo de exibição

Método

Parâmetro

Descrição

- playerDidChangeMirrorMode:

MirrorMode mirrorMode

O modo espelho foi alterado.

- playerDidChangeScaleMode:

ScaleMode scaleMode

O modo de dimensionamento foi alterado.

- playerDidChangeRotateMode:

RotateMode rotateMode

O modo de rotação foi alterado.

Faixa

Método

Parâmetro

Descrição

- playerDidTrackReady:

NSArray<TrackQuality *> * tracks

As informações sobre as faixas disponíveis estão prontas.

- playerDidTrackChanged:

TrackQuality * quality

A faixa foi alternada.

GestureNotificationDelegate (Delegate de notificação de gestos)

Protocolo para callbacks de eventos de interação por gestos. Todos os métodos são @optional. Os eventos são multicast pelo GestureNotificationDispatcher.

Toque simples

Método

Parâmetro

Descrição

- gestureDidSingleTap

-

Um gesto de toque simples foi acionado. Geralmente usado para alternar a visibilidade da barra de controle.

Pressão longa (velocidade de reprodução)

Método

Parâmetro

Descrição

- gestureDidBeginLongPress

-

Uma pressão longa começou. Isso ativa a reprodução acelerada.

- gestureDidEndLongPress

-

Uma pressão longa terminou. Isso restaura a velocidade normal de reprodução.

Brilho (arrasto vertical à esquerda)

Método

Parâmetro

Descrição

- gestureDidUpdateBrightnessWithPercent:

CGFloat currentPercent (0.0 a 1.0)

O brilho está sendo ajustado.

- gestureDidEndBrightnessAdjust

-

O ajuste de brilho terminou.

Volume (arrasto vertical à direita)

Método

Parâmetro

Descrição

- gestureDidUpdateVolumeWithPercent:

CGFloat currentPercent (0.0 a 1.0)

O volume está sendo ajustado.

- gestureDidEndVolumeAdjust

-

O ajuste de volume terminou.

SlotActionNotificationDelegate (Delegate de notificação de ações de slot)

Protocolo de notificação para eventos de ação entre slots. Utilizado para desacoplar chamadas diretas de métodos entre slots. Todos os métodos são @optional e são despachados assincronamente para a thread principal.

Método

Parâmetro

Descrição

- slotDidRequestToggleSettingMenu

-

Solicita a alternância da visibilidade do menu de configurações. Geralmente acionado pelo TopBarSlot.

- slotDidRequestShowSpeedPanel

-

Solicita a exibição do painel de seleção de velocidade de reprodução. Geralmente acionado pelo BottomBarSlot.

- slotDidRequestShowQualityPanel

-

Solicita a exibição do painel de seleção de qualidade de vídeo. Geralmente acionado pelo BottomBarSlot.

Protocolos do player

O AliPlayerKit define as capacidades principais e as restrições comportamentais do player por meio de protocolos.

MediaPlayer (Protocolo do player)

Este protocolo define a interface operacional central do player. Crie uma instância usando PlayerFactory.

Propriedades

Propriedade

Tipo

Descrição

playerId

NSString *

O identificador exclusivo do player.

state

PlayerState

O status atual da reprodução.

currentPosition

NSInteger

A posição atual em milissegundos.

duration

NSInteger

A duração total em milissegundos.

speed

float

A velocidade atual de reprodução.

loop

BOOL

Especifique se a reprodução é em loop.

muted

BOOL

Especifique se o áudio está silenciado.

mirrorMode

MirrorMode

O modo espelho atual.

scaleMode

ScaleMode

O modo de dimensionamento atual.

rotateMode

RotateMode

O ângulo de rotação atual.

stateStore

PlayerStateStore *

O armazenamento de status.

Controle de reprodução

Método

Parâmetro

Descrição

- setDataSource:

AliPlayerModel * model

Defina a source de dados de vídeo.

- prepare

-

Prepara os recursos do player assincronamente.

- start

-

Inicia a reprodução.

- pause

-

Pausa a reprodução.

- toggle

-

Alterna entre reproduzir e pausar.

- replay

-

Reinicia a reprodução desde o início.

- seekTo:

NSInteger position (milissegundos)

Busca uma posição específica.

- stop

-

Para a reprodução.

- destroy

-

Destrói o player e libera recursos.

Configurações de reprodução

Método

Parâmetro

Descrição

- setSpeed:

float speed

Defina a velocidade de reprodução (0.5 a 2.0).

- setLoop:

BOOL loop

Defina a reprodução em loop.

- setMuted:

BOOL muted

Silencia o áudio.

- setMirrorMode:

MirrorMode mode

Defina o modo espelho.

- setScaleMode:

ScaleMode mode

Defina o modo de dimensionamento.

- setRotateMode:

RotateMode mode

Defina o ângulo de rotação.

- selectTrack:

TrackQuality * quality

Alterna a qualidade do vídeo.

- snapshot

-

Captura um snapshot do quadro atual.

PlayerLifecycleStrategy (Protocolo de estratégia de ciclo de vida)

Este protocolo define o comportamento de obtenção e reciclagem de instâncias do player.

Métodos

Método

Parâmetro

Valor de retorno

Descrição

- setupWithFactory:

id<PlayerFactory> factory

void

Injeta a factory do player. Deve ser chamado primeiro.

- acquirePlayer

-

id<MediaPlayer>

Obtém uma instância do player.

- recyclePlayer:force:

player, BOOL force

void

Recicla uma instância do player.

- clear

-

void

Libera todas as instâncias em cache.

- preloadWithCount: (@optional)

NSInteger count

void

Pré-carrega um número especificado de instâncias no pool.

- acquirePlayerWithUniqueId: (@optional)

NSString * uniqueId

id<MediaPlayer>

Obtém um player por id. Específico para a estratégia IdScoped.

- recyclePlayer:uniqueId:force: (@optional)

player, uniqueId, force

void

Recicla um player por id. Específico para a estratégia IdScoped.

Implementações de estratégias integradas

Classe de estratégia

Comportamento

Cenários

DefaultLifecycleStrategy

Crie uma nova instância a cada vez e a destrói ao reciclar.

Reprodução normal de vídeo.

SingletonLifecycleStrategy

Instância única global (singleton sharedInstance)

Reprodução em lista, cenários sensíveis a memória.

ReusePoolLifecycleStrategy

Pool de reutilização LIFO.

Listas de vídeos curtos.

IdScopedPoolLifecycleStrategy

Vinculação de id + evicção LRU.

Pré-carregamento de vídeo.

FullscreenTransition (Protocolo de transição para tela cheia)

Este protocolo define o comportamento de transição para entrar e sair do modo de tela cheia.

Método / Propriedade

Parâmetro

Descrição

- enterFullscreenWithPlayerView:animated:completion:

playerView, animated, completion

Entra em tela cheia.

- exitFullscreenWithPlayerView:animated:completion:

playerView, animated, completion

Sai da tela cheia.

isInFullscreen (readonly)

-

Especifique se o player está no modo de tela cheia.

A implementação padrão DefaultFullscreenTransition usa uma solução independente de rotação de Window. É possível injetar uma implementação personalizada via playerView.fullscreenTransition.

Sistema de slots

O sistema de slots fornece um mecanismo de gerenciamento de camada de UI componível e substituível.

SlotProtocol (Protocolo de slot)

Permite definir o callback de ciclo de vida do slot.

Método

Parâmetro

Descrição

- onAttach:

id<SlotHost> host

O slot é vinculado ao host.

- onDetach

-

O slot é desvinculado do host.

- onBindData:

AliPlayerModel * model

Os dados de reprodução são vinculados.

- onUnbindData

-

Os dados de reprodução são desvinculados.

BaseSlot (Classe base de slot)

A classe base abstrata para todos os slots integrados (uma subclasse de UIView) implementa o protocolo SlotProtocol e fornece capacidades comuns.

Propriedades

Propriedade

Tipo

Descrição

host

id<SlotHost>

O host ao qual o slot está vinculado.

slotType

SlotType

O identificador de tipo do slot. Injetado pelo SlotHostLayout.

safeAreaEdges

SlotSafeAreaEdge

As bordas da área segura a serem evitadas. Padrão: All.

deferContentCreation

BOOL

A chave para criação adiada de conteúdo.

contentReady

BOOL

Especifique se o conteúdo está pronto.

touchPassthrough

BOOL

A chave para repasse de toque. Padrão: YES.

Métodos

Método

Tipo

Descrição

- setupContentView

-

Subclasses substituem este método para adicionar elementos de UI personalizados.

- show / - hide

-

Mostra ou oculta o slot.

- showWithAnimation: / - hideWithAnimation:

BOOL animated

Mostra ou oculta o slot com animação.

- isShowing

-

Indica se está visível no momento.

- dismiss

-

Remove corretamente o slot através do host.

- onRegisterElements

-

Subclasses substituem este método para declarar a máscara de bits dos elementos visíveis por padrão.

- isElementVisible:

NSUInteger element

Consulta a visibilidade final de um elemento específico.

- currentSceneType

-

Lê com segurança o tipo de cena atual.

- ensureContentReady

-

Garante que o conteúdo adiado esteja pronto.

SlotManager (Gerenciador de slots)

O SlotManager é o ponto de entrada unificado para gerenciamento do sistema de slots. Pode ser obtido usando AliPlayerView.slotManager.

Métodos de registro

Método

Parâmetro

Descrição

- registerSlotType:provider:

type, bloco SlotProvider

Registra ou substitui um provedor de slot.

- unregisterSlotType:

SlotType type

Cancela o registro de um provedor de slot.

- isRegistered:

SlotType type

Verifica se está registrado.

- registerCustomSlotType:provider:

CustomSlotType * type, provider

Registra um slot personalizado.

- unregisterCustomSlotType:

CustomSlotType * type

Cancela o registro de um slot personalizado.

Visibilidade do slot

Método

Parâmetro

Descrição

- hideSlot:

SlotType type

Oculta um slot inteiro.

- showSlot:

SlotType type

Mostra um slot oculto.

- isSlotHidden:

SlotType type

Verifica se um slot está oculto.

Visibilidade no nível de elemento

Método

Parâmetro

Descrição

- hideElements:forSlot:

NSUInteger mask, SlotType type

Oculta elementos específicos dentro de um slot usando uma máscara de bits.

- showElements:forSlot:

NSUInteger mask, SlotType type

Mostra elementos previamente ocultos.

- setHiddenElementMask:forSlot:

NSUInteger mask, SlotType type

Substitui a máscara de elementos ocultos. Isso sobrescreve a máscara existente.

- setAllHiddenElementMasks:

NSDictionary * config

Defina todos os elementos ocultos em lote.

- clearAllElementMasks

-

Limpa todas as configurações de visibilidade de elementos.

Acesso em tempo de execução

Método

Parâmetro

Valor de retorno

Descrição

- slotViewForType:

SlotType type

UIView<SlotProtocol> *

Obtém a visualização do slot vinculado.

- rebuildSlots

-

void

Reconstrói todos os slots.

- clearAll

-

void

Redefine para o status inicial.

SlotType (Constantes de tipo de slot)

Constante

Valor

Descrição

SlotTypePlayerSurface

10

Camada de visualização de renderização do player (mais inferior).

SlotTypeGestureControl

20

Camada de reconhecimento e controle de gestos.

SlotTypeLandscapeHint

30

Camada de dica de paisagem.

SlotTypeCover

40

Camada de miniatura de vídeo.

SlotTypeCenterDisplay

50

Camada de exibição central (velocidade de reprodução, brilho, volume).

SlotTypePlayState

60

Camada indicadora de status de reprodução (carregando, erro, concluído).

SlotTypeLogPanel

70

Camada do painel de log.

SlotTypeTopBar

80

Camada da barra de navegação superior.

SlotTypeBottomBar

90

Camada da barra de controle inferior.

SlotTypeSettingMenu

100

Camada do menu de configurações.

SlotTypeOptionPanel

110

Camada do painel de opções (velocidade de reprodução, qualidade).

CustomSlotType (Tipo de slot personalizado)

Utilizado para inserir slots personalizados entre os slots integrados. Os valores de enumeração SlotType integrados são organizados em intervalos de 10 (10, 20, ..., 110), e o CustomSlotType usa o campo order para especificar a posição de inserção.

Propriedade / Método

Descrição

key

Um identificador exclusivo usado para registro, consulta e verificações de igualdade.

order

O valor de ordenação que determina a posição do slot no eixo Z. Um valor menor significa que ele é colocado mais abaixo.

+ typeWithKey:order:

Crie uma instância de tipo de slot personalizado.

// Insert a custom slot between TopBar (80) and BottomBar (90)
CustomSlotType *type = [CustomSlotType typeWithKey:@"myCustomSlot" order:85];
[playerView.slotManager registerCustomSlotType:type provider:^UIView<SlotProtocol> *(UIView *parentView) {
    return [[MyCustomSlotView alloc] initWithFrame:parentView.bounds];
}];

SlotElements (Máscaras de bits de elementos de slot)

Use os métodos hideElements:forSlot: e showElements:forSlot: do SlotManager para implementar controle de visibilidade granular para elementos individuais da UI em um slot.

Elemento da Barra Superior (TopBarElement)

Constante

Bit

Descrição

TopBarElementBack

1 << 0

Botão Voltar.

TopBarElementTitle

1 << 1

Texto do título.

TopBarElementDownload

1 << 2

Botão Baixe.

TopBarElementSnapshot

1 << 3

Botão Snapshot.

TopBarElementSettings

1 << 4

Botão Configurações.

BottomBarElement (Elementos da barra inferior)

Constante

Bit

Descrição

BottomBarElementPlay

1 << 0

Botão Reproduzir/Pausar.

BottomBarElementProgress

1 << 1

Barra de progresso.

BottomBarElementRefresh

1 << 2

Botão Atualize.

BottomBarElementSpeed

1 << 3

Botão de velocidade de reprodução. Visível apenas no layout paisagem.

SettingMenuElement (Elementos do menu de configurações)

Constante

Bit

Descrição

SettingMenuElementSpeed

1 << 0

Opção de velocidade de reprodução.

SettingMenuElementTrackInfo

1 << 1

Informações de qualidade.

SettingMenuElementLoop

1 << 2

Reprodução em loop.

SettingMenuElementMute

1 << 3

Silenciar.

SettingMenuElementMirrorMode

1 << 4

Modo espelho.

SettingMenuElementRotateMode

1 << 5

Modo de rotação.

SettingMenuElementScaleMode

1 << 6

Modo de dimensionamento.

SettingMenuElementSubtitle

1 << 7

Legenda.

CenterDisplayElement (Elementos da camada de exibição central)

Constante

Bit

Descrição

CenterDisplayElementVolume

1 << 0

Indicador de volume.

CenterDisplayElementBrightness

1 << 1

Indicador de brilho.

CenterDisplayElementSpeed

1 << 2

Indicador de velocidade de reprodução.

GestureElement (Elementos de controle de gestos)

Nota

Estas constantes controlam a ativação e desativação de interações por gestos, não a visibilidade de elementos da UI. Quando um bit de gesto é definido como oculto, o gesto correspondente é desativado.

Constante

Bit

Descrição

GestureElementSingleTap

1 << 0

Gesto de toque simples.

GestureElementDoubleTap

1 << 1

Gesto de toque duplo.

GestureElementLongPress

1 << 2

Gesto de pressão longa.

GestureElementHorizontalDrag

1 << 3

Arrasto horizontal (progresso).

GestureElementLeftVerticalDrag

1 << 4

Arrasto vertical à esquerda (brilho).

GestureElementRightVerticalDrag

1 << 5

Arrasto vertical à direita (volume).

PlayStateElement (Elementos da camada de status de reprodução)

Constante

Bit

Descrição

PlayStateElementErrorMessage

1 << 0

Mensagem de erro.

PlayStateElementLoadingMessage

1 << 1

Mensagem de carregamento.

Armazenamento de status

PlayerStateStore

O PlayerStateStore mantém um snapshot somente leitura do status atual de reprodução. Pode ser obtido através de AliPlayerController.stateStore.

Propriedade

Tipo

Valor padrão

Descrição

playState

PlayerState

PlayerStateIdle

O status atual de reprodução.

duration

NSInteger

0

A duração total em milissegundos.

currentPosition

NSInteger

0

A posição atual em milissegundos.

bufferedPosition

NSInteger

0

A posição em buffer em milissegundos.

speed

float

1.0

A velocidade atual de reprodução.

loop

BOOL

NO

Especifique se a reprodução é em loop.

muted

BOOL

NO

Especifique se o áudio está silenciado.

mirrorMode

MirrorMode

MirrorModeNone

O modo espelho.

scaleMode

ScaleMode

ScaleModeCenterCrop

O modo de dimensionamento.

rotateMode

RotateMode

RotateModeDegree0

O ângulo de rotação.

videoWidth

NSInteger

0

A largura original do vídeo.

videoHeight

NSInteger

0

A altura original do vídeo.

trackQualityList

NSArray<TrackQuality *> *

nil

A lista de qualidades de vídeo disponíveis.

selectedTrackQuality

TrackQuality *

nil

A qualidade de vídeo selecionada atualmente.

PlayerViewState

O PlayerViewState mantém o status persistente relacionado à camada de UI. Pode ser obtido através de AliPlayerView.viewState. Este status é mantido entre trocas de vídeo, e as atualizações de status incluem deduplicação automática.

Propriedade / Método

Tipo

Valor padrão

Descrição

fullscreen

BOOL (readonly)

NO

Especifique se o player está no modo de tela cheia.

controlsVisible

BOOL (readonly)

NO

Especifique se a barra de controle está visível.

- reset

-

-

Redefine todos os status para seus valores padrão.

- updateFullscreen:

BOOL fullscreen

-

Atualize o status de tela cheia.

- updateControlsVisible:

BOOL controlsVisible

-

Atualize a visibilidade da barra de controle.

Source de vídeo

VideoSource (Modelo de source de vídeo)

Propriedade

Tipo

Descrição

sourceType

VideoSourceType

O tipo de source de vídeo.

uniqueId

NSString *

O identificador exclusivo. Retorna vid para VidAuth/VidSts e url para url.

url

NSString *

A url do vídeo. Válido para o tipo url.

vid

NSString *

O id do vídeo. Válido para VidAuth/VidSts.

playAuth

NSString *

A credencial de reprodução. Válido para VidAuth.

accessKeyId

NSString *

O AccessKeyId STS.

accessKeySecret

NSString *

O AccessKeySecret STS.

securityToken

NSString *

O SecurityToken STS.

region

NSString *

O id da região.

Métodos de factory

Método

Parâmetro

Valor de retorno

Descrição

+ vidAuthSourceWithVid:playAuth:

vid, playAuth

VideoSource *

Crie uma source de vídeo VidAuth. Recomendado.

+ vidStsSourceWithVid:accessKeyId:accessKeySecret:securityToken:region:

vid, keyId, secret, token, region

VideoSource *

Crie uma source de vídeo VidSts.

+ urlSourceWithUrl:

url

VideoSource *

Crie uma source de vídeo url.

- (BOOL)isValid

-

BOOL

Valida a configuração.

VideoSourceType (Tipo de source de vídeo)

Constante

Valor

Descrição

VideoSourceTypeVidAuth

0

Credencial de reprodução VID + PlayAuth. Recomendado.

VideoSourceTypeVidSts

1

Credencial temporária VID + STS.

VideoSourceTypeUrl

2

Reprodução direta por url.

Sistema de estratégias

O sistema de estratégias fornece um mecanismo plugável para estender o comportamento de reprodução. Os nomes das estratégias devem ser globalmente exclusivos.

StrategyProtocol (Protocolo de estratégia)

Este protocolo define o contrato de ciclo de vida para uma estratégia. Os nomes das estratégias devem ser globalmente exclusivos.

Método

Parâmetro

Descrição

- strategyName (@required)

-

O nome identificador exclusivo da estratégia.

- strategyDidStart: (@required)

StrategyContext * context

A estratégia inicia e se vincula ao contexto do player.

- strategyDidStop (@required)

-

A estratégia para e se desvincula do contexto.

- strategyDidReset: (@required)

StrategyContext * context

A estratégia é redefinida. Chamado quando a source de vídeo é alternada.

StrategyContext (Contexto da estratégia)

O contexto de ambiente do player somente leitura é fornecido à estratégia e é criado e passado pelo StrategyManager quando a estratégia inicia.

Propriedade

Tipo

Descrição

controller

AliPlayerController *

O controlador do player associado.

playerModel

AliPlayerModel *

O modelo de configuração de reprodução atual.

stateStore

PlayerStateStore *

O armazenamento de status do player.

Importante

Este objeto deixa de ser válido após strategyDidStop, e você não deve continuar a usá-lo.

BaseStrategy (Classe base de estratégia)

Uma classe base abstrata para estratégias que implementa StrategyProtocol e PlayerNotificationDelegate para lidar automaticamente com a inscrição e cancelamento de inscrição de eventos do player.

Propriedade / Método

Descrição

context (readonly, nullable)

O contexto atual da estratégia. Válido apenas entre start e stop.

- resetInternalState

Um método hook para subclasses redefinirem seu status interno, como limpar contadores ou temporizadores.

Fluxo de ciclo de vida: strategyDidStart: → Salve contexto → Registrar agente de notificação → strategyDidReset: → Atualize contexto → Chamar resetInternalStatestrategyDidStop → Cancelar registro do agente de notificação → Limpar contexto.

Nota

As classes filhas devem substituir o método strategyName. Se você substituir strategyDidStart:, strategyDidStop ou strategyDidReset:, deverá chamar super.

StrategyManager (Gerenciador de estratégias)

Cada AliPlayerController possui uma instância StrategyManager. As estratégias são executadas na ordem de registro, e as chamadas de ciclo de vida para cada estratégia são isoladas usando @try/@catch.

Métodos

Método

Parâmetro

Descrição

- registerStrategy:

id<StrategyProtocol> strategy

Registra uma estratégia. Se existir uma estratégia com o mesmo nome, ela é parada e substituída.

- unregisterStrategyWithName:

NSString * name

Cancela o registro de uma estratégia pelo nome.

- strategyWithName:

NSString * name

Localiza uma estratégia pelo nome.

- startWithController:playerModel:

controller, playerModel

Inicia todas as estratégias registradas.

- resetWithPlayerModel:

AliPlayerModel * playerModel

Redefine todas as estratégias. Usado quando a source de vídeo é alternada.

- stop

-

Para todas as estratégias.

- destroy

-

Para e remove todas as estratégias.

Propriedades

Propriedade

Tipo

Descrição

strategyCount

NSUInteger

O número de estratégias registradas atualmente.

started

BOOL

Indica se o gerenciador está em execução.

StrategyRegistry (Registro global de estratégias)

O registro global de estratégias é um singleton que mantém um grupo de Blocks de factory de estratégias. Sempre que um novo AliPlayerController é criado, todas as factories registradas são instanciadas e injetadas no StrategyManager do controlador usando applyToManager:.

Método

Parâmetro

Descrição

+ sharedRegistry

-

Obtém o singleton do registro global.

- addGlobalStrategyFactory:

StrategyFactory factory

Adiciona uma factory de estratégia global.

- clearGlobalStrategies

-

Remove todas as factories de estratégias globais, incluindo as integradas.

- applyToManager:

StrategyManager * manager

Instancia todas as estratégias globais e as registra no gerenciador especificado.

- resetToDefault

-

Restaura a configuração padrão de estratégias integradas.

Nota

Estratégias integradas (FirstFrameStrategy, StutterDetectStrategy e TrafficProtectionStrategy) são registradas automaticamente no primeiro acesso.

Estratégias integradas

FirstFrameStrategy (Monitoramento de tempo até o primeiro quadro)

Mede o tempo desde o início do preparo do player até a renderização do primeiro quadro. Divide-se em fase de preparo (Preparing to Prepared) e fase de renderização (Prepared to FirstFrameRendered).

Propriedade

Tipo

Descrição

delegate

id<FirstFrameStrategyDelegate> (weak)

Delegate de callback

Callback FirstFrameStrategyDelegate:

Método

Parâmetro

Descrição

- firstFrameStrategy:didRenderFirstFrameWithPrepareTime:renderTime:totalTime:

strategy, prepareTimeMs, renderTimeMs, totalTimeMs

O primeiro quadro foi renderizado.

StutterDetectStrategy (Detecção de travamentos)

Detecta travamentos ouvindo eventos de Loading. O carregamento antes da renderização do primeiro quadro não é contabilizado.

Propriedade

Tipo

Descrição

stutterCount

NSInteger

O número de travamentos na sessão atual.

totalStutterDurationMs

NSInteger

A duração total de travamentos na sessão atual, em milissegundos.

stutterThresholdMs

NSInteger

O limiar de travamento em milissegundos. Padrão: 0.

delegate

id<StutterDetectStrategyDelegate>

O delegate de callback.

- initWithThreshold:

NSInteger

Crie uma estratégia de detecção de travamentos com um limiar especificado.

Callback StutterDetectStrategyDelegate:

Método

Parâmetro

Descrição

- stutterDetectStrategy:didStutter:

strategy, durationMs

Um travamento foi detectado.

- stutterDetectStrategy:didAnalyzeSession:validPlayDuration:totalStutterDuration:stutterCount:

strategy, stayDurationMs, validPlayDurationMs, totalStutterDurationMs, stutterCount

A análise da sessão de reprodução foi concluída.

TrafficProtectionStrategy (Proteção de tráfego)

Monitora mudanças no status da rede e detecta reprodução em redes celulares. Realiza apenas detecção e registro, não pausa automaticamente a reprodução.

Propriedade

Tipo

Descrição

isOnCellularNetwork

BOOL

Especifique se o dispositivo está atualmente em uma rede celular.

delegate

id<TrafficProtectionStrategyDelegate>

O delegate de callback.

Callback TrafficProtectionStrategyDelegate:

Método

Parâmetro

Descrição

- trafficProtectionStrategyDidDetectCellularNetwork:

strategy

Reprodução em rede celular detectada.

- trafficProtectionStrategyDidDetectWifiNetwork:

strategy

A rede voltou para Wi-Fi.

Sistema de logs

O sistema de logs fornece um mecanismo unificado para saída de log e registro de observadores.

LogHub (Central de logs)

A central de gerenciamento de logs (singleton) que unifica a saída de log e o registro de observadores. Usa um modelo de threading híbrido: a saída no console é realizada sincronamente na thread de chamada, enquanto as notificações aos observadores são despachadas assincronamente para uma fila serial em segundo plano.

Propriedades

Propriedade

Tipo

Valor padrão

Descrição

logEnabled

BOOL

YES

Especifique se a saída de log deve ser ativada.

logLevel

LogLevel

LogLevelInfo

O nível mínimo de saída de log.

consoleLogEnabled

BOOL

YES

Especifique se a saída no console (NSLog) deve ser ativada.

Gerenciamento de observadores

Método

Parâmetro

Descrição

+ sharedHub

-

Obtém o singleton compartilhado do LogHub.

- addObserver:

id<LogObserver> observer

Adiciona um observador de log. Mantido por referência forte.

- removeObserver:

id<LogObserver> observer

Remove um observador de log.

Saída de log

Método

Parâmetro

Descrição

- v:msg:

tag, message

Emite um log de nível Verbose.

- d:msg:

tag, message

Emite um log de nível Debug.

- i:msg:

tag, message

Emite um log de nível Info.

- w:msg:

tag, message

Emite um log de nível Warn.

- e:msg:

tag, message

Emite um log de nível Error.

- e:msg:error:

tag, message, error (nullable)

Emite um log de nível Error com um objeto de erro associado.

- log:tag:msg:

level, tag, message

Emite um log no nível especificado.

Métodos utilitários

Método

Parâmetro

Valor de retorno

Descrição

+ levelToString:

LogLevel level

NSString *

Converte um nível de log em uma string abreviada (V/D/I/W/E/N).

+ stringToLevel:

NSString * levelName

LogLevel

Converte uma string de nome de nível de volta para um valor de enumeração.

LogObserver (Protocolo de observador de log)

Implemente este protocolo para receber todos os callbacks de saída de log para tratamento personalizado de logs, como gravar em arquivo ou relatar a um servidor.

Método

Parâmetro

Descrição

- onLog: (@required)

LogInfo * logInfo

O callback de saída de log. Executado em uma subthread.

LogInfo (Modelo de informações de log)

O modelo de dados para uma única entrada de log.

Propriedade

Tipo

Descrição

level

LogLevel

O nível do log.

tag

NSString *

A tag do log.

message

NSString *

A mensagem do log.

timestamp

NSDate *

O timestamp.

threadName

NSString *

O nome da thread.

fileName

NSString *

O nome do arquivo de source.

line

NSInteger

O número da linha no código-fonte.

error

NSError *

O objeto de erro associado.

- formattedString

-

Obtém a string de log formatada.

Sistema de pré-carregamento

O sistema de pré-carregamento encapsula o recurso global de pré-carregamento do SDK do player. Pode ser obtido através de [AliPlayerKit preloader].

PlayerPreloader (Protocolo de pré-carregamento)

Este protocolo encapsula o recurso global de pré-carregamento do SDK do player. Pode ser obtido através de [AliPlayerKit preloader].

Método

Parâmetro

Valor de retorno

Descrição

- addTask:delegate:

task, delegate

NSString * (id da tarefa)

Adiciona uma tarefa de pré-carregamento.

- cancelTask:

NSString * taskId

void

Cancela uma tarefa específica.

- pauseTask:

NSString * taskId

void

Pausa uma tarefa específica.

- resumeTask:

NSString * taskId

void

Retoma uma tarefa específica.

- cancelAll

-

void

Cancela todas as tarefas de pré-carregamento.

PlayerPreloadTask (Tarefa de pré-carregamento)

Propriedade

Tipo

Descrição

videoSource

VideoSource *

A source de dados de vídeo.

preloadConfig

PlayerPreloadConfig *

A configuração de pré-carregamento.

- initWithVideoSource:preloadConfig:

videoSource, preloadConfig

Crie uma tarefa de pré-carregamento.

PlayerPreloadConfig (Configuração de pré-carregamento)

Propriedade

Tipo

Valor padrão

Descrição

preloadDuration

NSInteger

3000

A duração do pré-carregamento em milissegundos.

loadStartPositionMs

NSInteger

0

A posição inicial do pré-carregamento em milissegundos.

defaultQuality

NSString *

@"AUTO"

O identificador de qualidade padrão.

defaultResolution

NSInteger

0

A resolução padrão. 0 significa sem limite.

defaultBandWidth

NSInteger

0

A taxa de bits padrão. 0 significa sem limite.

networkTimeout

NSInteger

0

O tempo limite de rede em milissegundos. 0 usa o padrão do SDK.

networkRetryCount

NSInteger

0

O número de novas tentativas de rede. 0 usa o padrão do SDK.

referrer

NSString * (nullable)

nil

Informações de referência.

customHeaders

NSArray<NSString *> *

nil

Cabeçalhos de solicitação personalizados.

Métodos de criação

Método

Parâmetro

Descrição

- init

-

Crie uma configuração com definições padrão.

- initWithPreloadDuration:defaultQuality:

preloadDuration, defaultQuality

Crie uma configuração com duração de pré-carregamento e qualidade padrão especificadas.

PreloadDelegate (Delegate de pré-carregamento)

Este protocolo recebe eventos de status para tarefas de pré-carregamento. Todos os métodos são @required.

Nota

Os callbacks podem ser acionados em uma thread em segundo plano. Você deve despachá-los para a thread principal para processamento.

Método

Parâmetro

Descrição

- preloadTaskDidComplete:source:

taskId, source

A tarefa de pré-carregamento foi concluída.

- preloadTaskDidFail:source:error:

taskId, source, error

A tarefa de pré-carregamento falhou.

- preloadTaskDidCancel:source:

taskId, source

A tarefa de pré-carregamento foi cancelada.

Sistema de localização

O sistema de localização gerencia o suporte multilíngue para o PlayerKit. Suporta três modos: seguir automaticamente o idioma do sistema, especificar um idioma manualmente ou usar provedores personalizados.

LocaleManager (Gerenciador de localização)

O gerenciador de localização (singleton) que gerencia o suporte multilíngue para o PlayerKit.

Cadeia de Resolução: Provedor Personalizado (se injetado) → Bundle para o idioma especificado manualmente (Modo Manual) → Bundle do SDK que segue o idioma do sistema → Retorna a própria chave como fallback.

Propriedades

Propriedade

Tipo

Descrição

currentLanguageCode

NSString *

O código do idioma atual.

localeMode

LocaleMode

O modo de idioma atual.

localeProvider

id<LocaleProvider>

O provedor personalizado injetado atualmente.

Métodos

Método

Parâmetro

Descrição

+ sharedManager

-

Obtém a instância singleton.

- setLanguageCode:

NSString * languageCode

Defina o idioma manualmente. Muda para o Modo Manual.

- setLocaleProvider:

id<LocaleProvider> provider

Injeta um provedor personalizado. Mantido por referência fraca. Passe nil para removê-lo.

- resetToSystemLanguage

-

Redefine o idioma para seguir o idioma do sistema.

- localizedStringForKey:

NSString * key

Consulta uma string localizada.

LocaleMode (Modo de idioma)

Constante

Valor

Descrição

LocaleModeSystem

0

Segue o idioma do sistema. Este é o padrão.

LocaleModeManual

1

Especifique manualmente o código do idioma.

LocaleProvider (Protocolo de provedor de localização)

O aplicativo host pode implementar este protocolo para fornecer traduções personalizadas para o PlayerKit.

Método

Parâmetro

Valor de retorno

Descrição

- localizedStringForKey: (@optional)

NSString * key

NSString * (nullable)

Retorna uma string localizada para uma chave especificada. Retornar nil significa que o SDK lidará com isso como fallback.

LocaleDidChangeNotification (Notificação de alteração de idioma)

Quando o modo de idioma ou o código do idioma muda, uma notificação LocaleDidChangeNotification é enviada na thread principal. O dicionário userInfo contém o novo código de idioma sob a chave LocaleLanguageCodeKey.

Enumerações e constantes principais

Tipos de enumeração principais usados no AliPlayerKit.

PlayerState (Status do player)

Constante

Valor

Descrição

PlayerStateIdle

0

Ocioso. Inicializado, mas nenhum recurso carregado.

PlayerStatePreparing

1

Preparando. Carregando recursos assincronamente.

PlayerStatePrepared

2

Preparado. Pronto para iniciar a reprodução.

PlayerStatePlaying

3

Reproduzindo.

PlayerStatePaused

4

Pausado.

PlayerStateCompleted

5

Concluído.

PlayerStateStopped

6

Parado.

PlayerStateError

7

Status de erro.

SceneType (Tipo de cenário)

Constante

Valor

Descrição

SceneTypeVOD

0

Cenário de vídeo sob demanda

SceneTypeLive

1

Cenário de transmissão ao vivo.

SceneTypeVideoList

2

Cenário de lista de vídeos ou fluxo de vídeos curtos.

SceneTypeRestricted

3

Cenário de reprodução restrita.

SceneTypeMinimal

4

Cenário de página de reprodução minimalista.

ScaleMode (Modo de dimensionamento)

Constante

Valor

Descrição

ScaleModeFitXY

0

Estica para preencher a visualização.

ScaleModeFitCenter

1

Dimensiona proporcionalmente para caber na visualização. Pode deixar barras pretas.

ScaleModeCenterCrop

2

Dimensiona proporcionalmente e corta para preencher.

MirrorMode (Modo espelho)

Constante

Valor

Descrição

MirrorModeNone

0

Sem espelhamento.

MirrorModeHorizontal

1

Espelhamento horizontal.

MirrorModeVertical

2

Espelhamento vertical.

RotateMode (Modo de rotação)

Constante

Valor

Descrição

RotateModeDegree0

0

0 graus.

RotateModeDegree90

90

90 graus.

RotateModeDegree180

180

180 graus.

RotateModeDegree270

270

270 graus.

LogLevel (Nível de log)

Constante

Valor

Descrição

LogLevelVerbose

0

As informações de depuração mais detalhadas.

LogLevelDebug

1

Nível de depuração.

LogLevelInfo

2

Nível informativo. Este é o padrão.

LogLevelWarn

3

Nível de aviso.

LogLevelError

4

Nível de erro.

LogLevelNone

100

Desativa todos os logs.

TrackType (Tipo de faixa)

Constante

Valor

Descrição

TrackTypeUnknown

0

Desconhecido.

TrackTypeVideo

1

Faixa de vídeo.

TrackTypeAudio

2

Faixa de áudio.

TrackTypeSubtitle

3

Faixa de legenda.

TrackTypeVOD

4

Faixa VOD.