Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Référence de l'API

Dernière mise à jour :Sep 11, 2026

AliPlayerKit propose un ensemble complet d'API pour contrôler le comportement du lecteur. Cette rubrique détaille les principales API d'AliPlayerKit sur iOS.

Remarque

AliPlayerKit inclut des commentaires de code détaillés pour toutes les API principales, telles que les classes et les méthodes. Dans Xcode, vous pouvez consulter ces commentaires avec l'aide rapide (Option + Clic) afin d'accélérer le développement. Cela rend également les API plus compatibles avec les outils de programmation assistée par IA.

Présentation des classes principales

Nom de la classe

Type

Responsabilité

Cycle de vie

AliPlayerKit

Point d'entrée global

Initialisation du SDK, configuration globale, gestion de l'usine et du préchargeur

Cycle de vie de l'application

AliPlayerView

Conteneur de vue

Gestion de la vue du lecteur, hôte du système de slots

Identique à UIView

AliPlayerController

Contrôleur de lecture

Contrôle de la lecture, gestion des états, coordination des stratégies

Libération manuelle via destroy

AliPlayerModel

Modèle de données

Encapsule la source vidéo et les paramètres de lecture

Objet valeur, sans cycle de vie indépendant

PlayerStateStore

Magasin d'état

Accès en lecture seule à l'état actuel du lecteur

Suit le contrôleur

PlayerViewState

État de la vue

Accès en lecture seule à l'état de la couche UI (plein écran, visibilité de la barre de contrôle)

Suit AliPlayerView

SlotManager

Gestionnaire de slots

Inscription des slots, contrôle de la visibilité, gestion au niveau des éléments

Suit AliPlayerView

StrategyManager

Gestionnaire de stratégie

Inscription, démarrage, arrêt et réinitialisation des stratégies

Suit le contrôleur

StrategyRegistry

Registre de stratégie

Gestion de l'usine de stratégie par défaut globale (singleton)

Cycle de vie de l'application

LogHub

Center de journalisation

Sortie des journaux et gestion des observateurs (singleton)

Cycle de vie de l'application

LocaleManager

Gestion de la localisation

Support multilingue et injection de Provider (singleton)

Cycle de vie de l'application

AliPlayerKit (API globales)

AliPlayerKit est une classe de paramètres globaux destinée à l'initialisation et à la configuration du SDK. Vous ne pouvez pas instancier cette classe. Toutes ses méthodes sont des méthodes de classe.

Méthodes d'initialisation

Méthode

Paramètre

Valeur de retour

Description

+ (void)setup

-

void

Initialise le SDK. dispatch_once garantit l'idempotence. Appelez cette méthode au démarrage de l'application.

+ (BOOL)isInitialized

-

BOOL

Vérifie si le SDK est initialisé.

+ (void)setOnGlobalInitBlock:

Bloc OnGlobalInitBlock

void

Définit un rappel de configuration personnalisé après la finalisation de l'initialisation globale. Appelez cette méthode avant setup.

Requête d'état et informations de version

Méthode

Paramètre

Valeur de retour

Description

+ (NSString *)getPlayerKitVersion

-

NSString *

Récupère le numéro de version de PlayerKit.

+ (NSString *)getSdkVersion

-

NSString *

Récupère le numéro de version du SDK AliPlayer sous-jacent.

Configurations de débogage

Méthode

Paramètre

Valeur de retour

Description

+ (void)setDebugModeEnabled:

BOOL enabled

void

Active ou désactive le mode débogage.

+ (BOOL)isDebugModeEnabled

-

BOOL

Vérifie si le mode débogage est activé.

+ (void)setLogPanelEnabled:

BOOL enabled

void

Active ou désactive le panneau de journalisation. Cette fonctionnalité est réservée au débogage.

+ (BOOL)isLogPanelEnabled

-

BOOL

Vérifie si le panneau de journalisation est activé.

Configurations des journaux

Méthode

Paramètre

Valeur de retour

Description

+ (void)setLogLevel:

Niveau LogLevel

void

Définit le niveau de journalisation. Les journaux inférieurs à ce niveau sont ignorés. Le niveau par défaut est Info.

+ (LogLevel)logLevel

-

LogLevel

Récupère le niveau de journalisation actuel.

+ (void)enableConsoleLog:

BOOL enable

void

Active ou désactive la sortie des journaux dans la console.

+ (BOOL)isConsoleLogEnabled

-

BOOL

Vérifie si la sortie des journaux dans la console est activée.

Usine de lecteur

Méthode

Paramètre

Description

+ (void)setPlayerFactory:

id<PlayerFactory> factory

Définit une usine de lecteur personnalisée. Transmettez nil pour restaurer l'usine par défaut.

+ (id<PlayerFactory>)playerFactory

-

Récupère l'usine de lecteur actuelle.

Préchargement

Méthode

Paramètre

Description

+ (void)setPreloader:

id<PlayerPreloader> preloader

Définit un préchargeur personnalisé. Transmettez nil pour restaurer le préchargeur par défaut.

+ (id<PlayerPreloader>)preloader

-

Récupère le préchargeur actuel.

Gestion du cache

Méthode

Description

+ (void)clearCaches

Efface le cache multimédia local du lecteur. Appelez cette méthode après setup.

Internationalisation

Méthode

Paramètre

Description

+ (void)setLanguageCode:

NSString * languageCode

Spécifie manuellement la langue. Les langues prises en charge sont zh-Hans et en.

+ (void)setLocaleProvider:

id<LocaleProvider> provider

Injecte un fournisseur de localisation personnalisé. Cette option a la priorité la plus élevée.

+ (void)resetLocaleToSystemLanguage

-

Réinitialise la langue pour qu'elle suive la langue du système.

+ (NSString *)currentLanguageCode

-

Récupère le code de langue actuel.

AliPlayerView (API de vue)

AliPlayerView est le conteneur de vue du lecteur. Il gère la liaison du contrôleur et le système de slots. La vue de rendu est créée et gérée par le PlayerSurfaceSlot interne.

Propriétés

Propriété

Type

Description

controller

AliPlayerController *

Le contrôleur de lecteur associé.

viewState

PlayerViewState *

L'état de l'interface utilisateur conservé entre les vidéos, comme le plein écran et la visibilité de la barre de contrôle.

slotManager

SlotManager *

Le gestionnaire de slots. Vous pouvez le préconfigurer avant l'attachement.

fullscreenTransition

id<FullscreenTransition>

L'implémentation de l'animation de transition en plein écran. Par défaut, une solution de rotation de fenêtre indépendante est utilisée.

onBackPressed

void (^)(void)

Le rappel pour l'événement du bouton Retour.

Remarque

Le rappel onBackPressed est déclenché en mode non plein écran. En mode plein écran, le lecteur gère automatiquement l'opération de retour en quittant le plein écran. Si ce rappel n'est pas défini, le lecteur tente un comportement de navigation par défaut, tel que pop ou dismiss, via la chaîne de répondeurs.

Liaison du contrôleur

Méthode

Paramètre

Description

- (void)attach:

AliPlayerController * controller

Lie le contrôleur et active le système de slots.

- (void)detach

-

Détache le contrôleur sans le détruire.

Quand appeler :

  • attach: : Le composant est attaché après que le contrôleur a appelé configure:. Le système de slots est ensuite automatiquement construit en fonction de la configuration de slotManager.

  • detach : Appelez cette méthode lorsque la vue est sur le point d'être détruite ou lorsque vous devez lier un autre contrôleur.

AliPlayerController (API du contrôleur)

AliPlayerController est le contrôleur de lecture. Il sert de point d'entrée unifié pour les opérations de lecture et encapsule la logique de création, de configuration et de contrôle du lecteur.

Propriétés

Propriété

Type

Description

playerModel

AliPlayerModel *

Le modèle de configuration de lecture actuel.

playerState

PlayerState

L'état actuel du lecteur.

currentPosition

NSInteger

La position de lecture actuelle en millisecondes.

duration

NSInteger

La durée totale de la vidéo en millisecondes.

stateStore

PlayerStateStore *

Le magasin d'état.

strategyManager

StrategyManager *

Le gestionnaire de stratégie.

lifecycleStrategy

id<PlayerLifecycleStrategy>

La stratégie de cycle de vie actuelle.

autoLifecycleManagement

BOOL

Indique s'il faut gérer automatiquement le cycle de vie en premier plan et en arrière-plan. Valeur par défaut : YES.

controlsVisibilityLocked

BOOL

L'indicateur de verrouillage pour la visibilité de la barre de contrôle.

Remarque

Lorsque controlsVisibilityLocked est défini sur YES, la requête setControlsVisible:NO est ignorée et la barre de contrôle reste visible. Cela est utilisé pour les scénarios interactifs, tels que le glissement de la barre de progression, où la barre de contrôle doit toujours être affichée.

Constructeurs

Méthode

Paramètre

Description

- (instancetype)init

-

Crée un contrôleur avec la stratégie de cycle de vie par défaut.

- (instancetype)initWithLifecycleStrategy:

id<PlayerLifecycleStrategy> strategy

Crée un contrôleur avec une stratégie de cycle de vie personnalisée.

Configuration et contrôle de la lecture

Méthode

Paramètre

Description

- (void)configure:

AliPlayerModel * model

Configure le lecteur et prépare la lecture.

- (void)play

-

Démarre ou reprend la lecture.

- (void)pause

-

Met la lecture en pause.

- (void)toggle

-

Alterne entre la lecture et la pause.

- (void)replay

-

Redémarre la lecture depuis le début.

- (void)stop

-

Arrête la lecture.

- (void)seekTo:

NSInteger position (millisecondes)

Effectue une recherche vers une position spécifique.

- (void)setRate:

float rate

Définit la vitesse de lecture. 1,0 correspond à la vitesse normale.

- (void)setLoop:

BOOL loop

Définit si la lecture doit être en boucle.

- (void)setMuted:

BOOL muted

Définit si l'audio doit être coupé.

- (void)setMirrorMode:

MirrorMode mirrorMode

Définit le mode miroir.

- (void)setScaleMode:

ScaleMode scaleMode

Définit le mode de mise à l'échelle.

- (void)setRotateMode:

RotateMode rotateMode

Définit l'angle de rotation.

- (void)selectTrack:

TrackQuality * quality

Change la qualité vidéo.

- (void)snapshot

-

Prend une capture d'écran de l'image vidéo actuelle.

Contrôle de l'interface utilisateur

Méthode

Paramètre

Valeur de retour

Description

- (void)setControlsVisible:

BOOL visible

void

Définit la visibilité de la barre de contrôle.

- (void)setFullscreen:

BOOL fullscreen

void

Définit le mode plein écran avec animation.

- (void)setFullscreen:animated:

BOOL fullscreen, BOOL animated

void

Définit le mode plein écran avec animation facultative.

Méthodes de cycle de vie

Méthode

Paramètre

Valeur de retour

Description

- (void)onResume

-

void

Reprend la lecture. Appelez cette méthode lors du retour depuis l'arrière-plan.

- (void)onPause

-

void

Met la lecture en pause. Appelez cette méthode lors du passage en arrière-plan.

- (void)destroy

-

void

Détruit le lecteur et libère toutes les ressources.

Délégués de notification

Méthode

Paramètre

Valeur de retour

Description

- (void)addNotificationDelegate:

id<PlayerNotificationDelegate> delegate

void

Ajoute un délégué de notification. Il est détenu par une référence faible.

- (void)removeNotificationDelegate:

id<PlayerNotificationDelegate> delegate

void

Supprime un délégué de notification.

AliPlayerModel (API du modèle)

AliPlayerModel est le modèle de configuration du lecteur. Il regroupe toutes les informations de configuration nécessaires à la lecture.

Propriétés

Propriété

Type

Valeur par défaut

Description

videoSource

VideoSource *

-

La source de données vidéo. Ce paramètre est obligatoire.

sceneType

SceneType

SceneTypeVOD

Le type de scénario de lecture.

coverUrl

NSString *

nil

L'URL de la vignette.

videoTitle

NSString *

nil

Le titre de la vidéo.

autoPlay

BOOL

YES

Indique si la lecture automatique est activée.

traceId

NSString *

nil

L'identifiant de suivi pour la surveillance de la qualité de lecture.

startTime

NSInteger

0

La position de départ en millisecondes.

hardwareDecode

BOOL

YES

Indique si le décodage matériel est activé.

allowScreenSleep

BOOL

NO

Indique si la mise en veille de l'écran est autorisée.

disableScreenshot

BOOL

NO

Indique si les captures d'écran et l'enregistrement d'écran sont désactivés.

onPlayerConfigBlock

void (^)(id<MediaPlayer>)

nil

Le rappel de configuration personnalisée au niveau de l'instance.

Méthodes de création

Méthode

Paramètre

Valeur de retour

Description

- (instancetype)initWithVideoSource:

VideoSource * videoSource

AliPlayerModel *

Crée un modèle à partir d'une source vidéo. Il s'agit de l'initialiseur désigné.

Système de notification

AliPlayerKit utilise un modèle Dispatcher + Delegate pour la communication des événements entre les composants. Chaque AliPlayerController dispose d'une instance Dispatcher indépendante, ce qui empêche les événements provenant de différentes instances de lecteur de s'interférer. Tous les rappels sont distribués sur le thread principal.

PlayerNotificationDelegate (Délégué de notification du lecteur)

Un protocole pour les rappels de changement d'état du lecteur. Toutes les méthodes sont @optional.

État de lecture

Méthode

Paramètre

Description

- playerDidChangeState:

PlayerState state

L'état du lecteur change.

- playerDidPreparedWithDuration:

NSInteger duration (millisecondes)

Le lecteur est prêt pour la lecture.

- playerDidRenderFirstFrame

-

La première image est affichée.

- playerDidCompletion

-

La lecture est terminée.

Progression de la lecture

Méthode

Paramètre

Description

- playerDidUpdateCurrentPosition:duration:bufferedPosition:

position, duration, bufferedPosition (millisecondes)

Signale la progression de la lecture à intervalles réguliers.

Erreurs et instantanés

Méthode

Paramètre

Description

- playerDidEncounterError:

NSError * error

Une erreur de lecture s'est produite.

- playerDidCompleteSnapshot:

UIImage *

Un instantané a été capturé.

Informations vidéo

Méthode

Paramètre

Description

- playerDidChangeVideoWidth:height:

NSInteger width, height

Les dimensions de la vidéo changent.

État de l'interface utilisateur

Méthode

Paramètre

Description

- playerDidChangeFullscreen:

BOOL isFullscreen

L'état plein écran change.

- playerDidChangeControlsVisible:

BOOL visible

La visibilité de la barre de contrôle change.

État de chargement

Méthode

Paramètre

Description

- playerDidLoadingBegin

-

La mise en mémoire tampon commence.

- playerDidLoadingEnd

-

La mise en mémoire tampon se termine.

- playerDidUpdateLoadingProgress:

float progress (0-100)

La progression de la mise en mémoire tampon est mise à jour.

Mode d'affichage

Méthode

Paramètre

Description

- playerDidChangeMirrorMode:

MirrorMode mirrorMode

Le mode miroir change.

- playerDidChangeScaleMode:

ScaleMode scaleMode

Le mode de mise à l'échelle change.

- playerDidChangeRotateMode:

RotateMode rotateMode

Le mode de rotation change.

Piste

Méthode

Paramètre

Description

- playerDidTrackReady:

NSArray<TrackQuality *> * tracks

Les informations sur les pistes disponibles sont prêtes.

- playerDidTrackChanged:

TrackQuality * quality

La piste est commutée.

GestureNotificationDelegate (Délégué de notification des gestes)

Un protocole pour les rappels d'événements d'interaction gestuelle. Toutes les méthodes sont @optional. Les événements sont diffusés par GestureNotificationDispatcher.

Appui simple

Méthode

Paramètre

Description

- gestureDidSingleTap

-

Un geste d'appui simple est déclenché. Cela sert généralement à basculer la visibilité de la barre de contrôle.

Appui long (vitesse de lecture)

Méthode

Paramètre

Description

- gestureDidBeginLongPress

-

Un appui long commence. Cela active la lecture en avance rapide.

- gestureDidEndLongPress

-

Un appui long se termine. Cela rétablit la vitesse de lecture normale.

Luminosité (glissement vertical gauche)

Méthode

Paramètre

Description

- gestureDidUpdateBrightnessWithPercent:

CGFloat currentPercent (0,0 à 1,0)

La luminosité est en cours d'ajustement.

- gestureDidEndBrightnessAdjust

-

L'ajustement de la luminosité se termine.

Volume (glissement vertical droit)

Méthode

Paramètre

Description

- gestureDidUpdateVolumeWithPercent:

CGFloat currentPercent (0,0 à 1,0)

Le volume est en cours d'ajustement.

- gestureDidEndVolumeAdjust

-

L'ajustement du volume se termine.

SlotActionNotificationDelegate (Délégué de notification des actions de slot)

Un protocole de notification pour les événements d'action entre les slots. Il permet de découpler les appels de méthode directs entre les slots. Toutes les méthodes sont @optional et sont distribuées de manière asynchrone sur le thread principal.

Méthode

Paramètre

Description

- slotDidRequestToggleSettingMenu

-

Demande de basculer la visibilité du menu des paramètres. Cela est généralement déclenché par TopBarSlot.

- slotDidRequestShowSpeedPanel

-

Demande d'afficher le panneau de sélection de la vitesse de lecture. Cela est généralement déclenché par BottomBarSlot.

- slotDidRequestShowQualityPanel

-

Demande d'afficher le panneau de sélection de la qualité vidéo. Cela est généralement déclenché par BottomBarSlot.

Protocoles du lecteur

AliPlayerKit définit les fonctionnalités principales et les contraintes comportementales du lecteur par le biais de protocoles.

MediaPlayer (protocole du lecteur)

Ce protocole définit l'interface d'exploitation principale du lecteur. Vous pouvez créer une instance à l'aide de PlayerFactory.

Propriétés

Propriété

Type

Description

playerId

NSString *

L'identifiant unique du lecteur.

state

PlayerState

L'état de lecture actuel.

currentPosition

NSInteger

La position actuelle en millisecondes.

duration

NSInteger

La durée totale en millisecondes.

speed

float

La vitesse de lecture actuelle.

loop

BOOL

Indique si la lecture est en boucle.

muted

BOOL

Indique si l'audio est en sourdine.

mirrorMode

MirrorMode

Le mode miroir actuel.

scaleMode

ScaleMode

Le mode de mise à l'échelle actuel.

rotateMode

RotateMode

L'angle de rotation actuel.

stateStore

PlayerStateStore *

Le magasin d'états.

Contrôle de la lecture

Méthode

Paramètre

Description

- setDataSource:

AliPlayerModel * model

Définit la source de données vidéo.

- prepare

-

Prépare de manière asynchrone les ressources du lecteur.

- start

-

Démarre la lecture.

- pause

-

Met la lecture en pause.

- toggle

-

Bascule entre la lecture et la pause.

- replay

-

Redémarre la lecture depuis le début.

- seekTo:

NSInteger position (millisecondes)

Effectue une recherche vers une position spécifique.

- stop

-

Arrête la lecture.

- destroy

-

Détruit le lecteur et libère les ressources.

Paramètres de lecture

Méthode

Paramètre

Description

- setSpeed:

float speed

Définit la vitesse de lecture (de 0,5 à 2,0).

- setLoop:

BOOL loop

Active ou désactive la lecture en boucle.

- setMuted:

BOOL muted

Coupe le son de l'audio.

- setMirrorMode:

MirrorMode mode

Définit le mode miroir.

- setScaleMode:

ScaleMode mode

Définit le mode de mise à l'échelle.

- setRotateMode:

RotateMode mode

Définit l'angle de rotation.

- selectTrack:

TrackQuality * quality

Change la qualité vidéo.

- snapshot

-

Capture une image de la frame actuelle.

PlayerLifecycleStrategy (protocole de stratégie de cycle de vie)

Ce protocole définit le comportement d'acquisition et de recyclage des instances de lecteur.

Méthodes

Méthode

Paramètre

Valeur de retour

Description

- setupWithFactory:

id<PlayerFactory> factory

void

Injecte la fabrique de lecteurs. Cette méthode doit être appelée en premier.

- acquirePlayer

-

id<MediaPlayer>

Obtient une instance de lecteur.

- recyclePlayer:force:

player, BOOL force

void

Recycle une instance de lecteur.

- clear

-

void

Libère toutes les instances mises en cache.

- preloadWithCount: (@optional)

NSInteger count

void

Précharge un nombre spécifié d'instances dans le pool.

- acquirePlayerWithUniqueId: (@optional)

NSString * uniqueId

id<MediaPlayer>

Obtient un lecteur par ID. Cette méthode est spécifique à la stratégie IdScoped.

- recyclePlayer:uniqueId:force: (@optional)

player, uniqueId, force

void

Recycle un lecteur par ID. Cette méthode est spécifique à la stratégie IdScoped.

Implémentations de stratégies intégrées

Classe de stratégie

Comportement

Scénarios

DefaultLifecycleStrategy

Crée une nouvelle instance à chaque fois et la détruit lors du recyclage.

Lecture vidéo normale.

SingletonLifecycleStrategy

Instance unique globale (singleton sharedInstance)

Lecture en liste, scénarios sensibles à la mémoire.

ReusePoolLifecycleStrategy

Pool de réutilisation LIFO (dernier entré, premier sorti).

Listes de vidéos courtes.

IdScopedPoolLifecycleStrategy

Liaison par ID + éviction LRU (Least Recently Used).

Préchargement de vidéos.

FullscreenTransition (protocole de transition plein écran)

Ce protocole définit le comportement de transition pour l'entrée et la sortie du mode plein écran.

Méthode / Propriété

Paramètre

Description

- enterFullscreenWithPlayerView:animated:completion:

playerView, animated, completion

Passe en mode plein écran.

- exitFullscreenWithPlayerView:animated:completion:

playerView, animated, completion

Quitte le mode plein écran.

isInFullscreen (readonly)

-

Indique si le lecteur est en mode plein écran.

L'implémentation par défaut DefaultFullscreenTransition utilise une solution de rotation de fenêtre indépendante. Vous pouvez injecter une implémentation personnalisée via playerView.fullscreenTransition.

Système de slots

Le système de slots offre un mécanisme de gestion de couche d'interface utilisateur composable et remplaçable.

SlotProtocol (protocole de slot)

Vous pouvez définir le rappel de cycle de vie du slot.

Méthode

Paramètre

Description

- onAttach:

id<SlotHost> host

Le slot est attaché à l'hôte.

- onDetach

-

Le slot est détaché de l'hôte.

- onBindData:

AliPlayerModel * model

Les données de lecture sont liées.

- onUnbindData

-

Les données de lecture sont déliées.

BaseSlot (classe de base des slots)

La classe de base abstraite pour tous les slots intégrés (une sous-classe de UIView) implémente le protocole SlotProtocol et fournit des fonctionnalités communes.

Propriétés

Propriété

Type

Description

host

id<SlotHost>

L'hôte auquel le slot est attaché.

slotType

SlotType

L'identifiant de type de slot. Il est injecté par SlotHostLayout.

safeAreaEdges

SlotSafeAreaEdge

Les bords de la zone sécurisée à éviter. Par défaut : Tous.

deferContentCreation

BOOL

L'interrupteur pour la création différée du contenu.

contentReady

BOOL

Indique si le contenu est prêt.

touchPassthrough

BOOL

L'interrupteur pour le transfert tactile. Par défaut : YES.

Méthodes

Méthode

Type

Description

- setupContentView

-

Les sous-classes remplacent cette méthode pour ajouter des éléments d'interface utilisateur personnalisés.

- show / - hide

-

Affiche ou masque le slot.

- showWithAnimation: / - hideWithAnimation:

BOOL animated

Affiche ou masque le slot avec une animation.

- isShowing

-

Indique s'il est actuellement visible.

- dismiss

-

Supprime correctement le slot via l'hôte.

- onRegisterElements

-

Les sous-classes remplacent cette méthode pour déclarer le masque binaire des éléments visibles par défaut.

- isElementVisible:

NSUInteger element

Interroge la visibilité finale d'un élément spécifique.

- currentSceneType

-

Lit en toute sécurité le type de scène actuel.

- ensureContentReady

-

Garantit que le contenu différé est prêt.

SlotManager (gestionnaire de slots)

Le SlotManager est le point d'entrée de gestion unifié du système de slots. Vous pouvez le récupérer à l'aide de AliPlayerView.slotManager.

Méthodes d'enregistrement

Méthode

Paramètre

Description

- registerSlotType:provider:

type, SlotProvider block

Enregistre ou remplace un fournisseur de slots.

- unregisterSlotType:

SlotType type

Désenregistre un fournisseur de slots.

- isRegistered:

SlotType type

Vérifie si l'enregistrement est effectué.

- registerCustomSlotType:provider:

CustomSlotType * type, provider

Enregistre un slot personnalisé.

- unregisterCustomSlotType:

CustomSlotType * type

Désenregistre un slot personnalisé.

Visibilité des slots

Méthode

Paramètre

Description

- hideSlot:

SlotType type

Masque un slot entier.

- showSlot:

SlotType type

Affiche un slot masqué.

- isSlotHidden:

SlotType type

Vérifie si un slot est masqué.

Visibilité au niveau des éléments

Méthode

Paramètre

Description

- hideElements:forSlot:

NSUInteger mask, SlotType type

Masque des éléments spécifiques au sein d'un slot à l'aide d'un masque binaire.

- showElements:forSlot:

NSUInteger mask, SlotType type

Affiche des éléments précédemment masqués.

- setHiddenElementMask:forSlot:

NSUInteger mask, SlotType type

Remplace le masque des éléments masqués. Cela écrase le masque existant.

- setAllHiddenElementMasks:

NSDictionary * config

Définit tous les éléments masqués par lot.

- clearAllElementMasks

-

Efface toutes les configurations de visibilité des éléments.

Accès au moment de l'exécution

Méthode

Paramètre

Valeur de retour

Description

- slotViewForType:

SlotType type

UIView<SlotProtocol> *

Obtient la vue de slot attachée.

- rebuildSlots

-

void

Reconstruit tous les slots.

- clearAll

-

void

Réinitialise à l'état initial.

SlotType (constantes de type de slot)

Constante

Valeur

Description

SlotTypePlayerSurface

10

Couche de vue de rendu du lecteur (la plus basse).

SlotTypeGestureControl

20

Couche de reconnaissance et de contrôle gestuel.

SlotTypeLandscapeHint

30

Couche d'indication paysage.

SlotTypeCover

40

Couche de miniature vidéo.

SlotTypeCenterDisplay

50

Couche d'affichage central (vitesse de lecture, luminosité, volume).

SlotTypePlayState

60

Couche d'indicateur d'état de lecture (chargement, erreur, terminé).

SlotTypeLogPanel

70

Couche du panneau de journaux.

SlotTypeTopBar

80

Couche de la barre de navigation supérieure.

SlotTypeBottomBar

90

Couche de la barre de contrôle inférieure.

SlotTypeSettingMenu

100

Couche du menu des paramètres.

SlotTypeOptionPanel

110

Couche du panneau d'options (vitesse de lecture, qualité).

CustomSlotType (type de slot personnalisé)

Cette classe permet d'insérer des slots personnalisés entre les slots intégrés. Les valeurs d'énumération SlotType intégrées sont disposées par intervalles de 10 (10, 20, ..., 110), et CustomSlotType utilise le champ order pour spécifier la position d'insertion.

Propriété / Méthode

Description

key

Un identifiant unique utilisé pour l'enregistrement, la recherche et les vérifications d'égalité.

order

La valeur de tri qui détermine la position du slot sur l'axe Z. Une valeur plus petite signifie qu'il est placé plus bas.

+ typeWithKey:order:

Crée une instance de type de slot personnalisé.

// 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 (Masques binaires des éléments de slot)

Utilisez les méthodes hideElements:forSlot: et showElements:forSlot: de SlotManager pour contrôler finement la visibilité des éléments d'interface utilisateur individuels dans un slot.

Top Bar Element (Élément de la barre supérieure)

Constante

Bit

Description

TopBarElementBack

1 << 0

Bouton Retour.

TopBarElementTitle

1 << 1

Texte du titre.

TopBarElementDownload

1 << 2

Bouton Télécharger.

TopBarElementSnapshot

1 << 3

Bouton Capture d'écran.

TopBarElementSettings

1 << 4

Bouton Paramètres.

BottomBarElement (Éléments de la barre inférieure)

Constante

Bit

Description

BottomBarElementPlay

1 << 0

Bouton Lecture/Pause.

BottomBarElementProgress

1 << 1

Barre de progression.

BottomBarElementRefresh

1 << 2

Bouton Actualiser.

BottomBarElementSpeed

1 << 3

Bouton Vitesse de lecture. Visible uniquement en mode paysage.

SettingMenuElement (Éléments du menu des paramètres)

Constante

Bit

Description

SettingMenuElementSpeed

1 << 0

Option de vitesse de lecture.

SettingMenuElementTrackInfo

1 << 1

Informations sur la qualité.

SettingMenuElementLoop

1 << 2

Lecture en boucle.

SettingMenuElementMute

1 << 3

Muet.

SettingMenuElementMirrorMode

1 << 4

Mode miroir.

SettingMenuElementRotateMode

1 << 5

Mode de rotation.

SettingMenuElementScaleMode

1 << 6

Mode de mise à l'échelle.

SettingMenuElementSubtitle

1 << 7

Sous-titre.

CenterDisplayElement (Éléments de la couche d'affichage central)

Constante

Bit

Description

CenterDisplayElementVolume

1 << 0

Indicateur de volume.

CenterDisplayElementBrightness

1 << 1

Indicateur de luminosité.

CenterDisplayElementSpeed

1 << 2

Indicateur de vitesse de lecture.

GestureElement (Éléments de contrôle par gestes)

Remarque

Ces constantes contrôlent l'activation et la désactivation des interactions gestuelles, et non la visibilité des éléments de l'interface utilisateur. Lorsqu'un bit de geste est défini comme masqué, le geste correspondant est désactivé.

Constante

Bit

Description

GestureElementSingleTap

1 << 0

Geste de simple appui.

GestureElementDoubleTap

1 << 1

Geste de double appui.

GestureElementLongPress

1 << 2

Geste d'appui long.

GestureElementHorizontalDrag

1 << 3

Glissement horizontal (progression).

GestureElementLeftVerticalDrag

1 << 4

Glissement vertical gauche (luminosité).

GestureElementRightVerticalDrag

1 << 5

Glissement vertical droit (volume).

PlayStateElement (Éléments de la couche d'état de lecture)

Constante

Bit

Description

PlayStateElementErrorMessage

1 << 0

Message d'erreur.

PlayStateElementLoadingMessage

1 << 1

Message de chargement.

Magasin d'état

PlayerStateStore

PlayerStateStore contient un instantané en lecture seule de l'état de lecture actuel. Vous pouvez le récupérer via AliPlayerController.stateStore.

Propriété

Type

Valeur par défaut

Description

playState

PlayerState

PlayerStateIdle

L'état de lecture actuel.

duration

NSInteger

0

La durée totale en millisecondes.

currentPosition

NSInteger

0

La position actuelle en millisecondes.

bufferedPosition

NSInteger

0

La position mise en tampon en millisecondes.

speed

float

1.0

La vitesse de lecture actuelle.

loop

BOOL

NO

Indique si la lecture doit être effectuée en boucle.

muted

BOOL

NO

Indique si l'audio est en sourdine.

mirrorMode

MirrorMode

MirrorModeNone

Le mode miroir.

scaleMode

ScaleMode

ScaleModeCenterCrop

Le mode de mise à l'échelle.

rotateMode

RotateMode

RotateModeDegree0

L'angle de rotation.

videoWidth

NSInteger

0

La largeur d'origine de la vidéo.

videoHeight

NSInteger

0

La hauteur d'origine de la vidéo.

trackQualityList

NSArray<TrackQuality *> *

nil

La liste des qualités vidéo disponibles.

selectedTrackQuality

TrackQuality *

nil

La qualité vidéo actuellement sélectionnée.

PlayerViewState

PlayerViewState conserve l'état persistant lié à la couche d'interface utilisateur. Vous pouvez le récupérer via AliPlayerView.viewState. Cet état est conservé lors des changements de vidéo et les mises à jour d'état incluent une déduplication automatique.

Propriété / Méthode

Type

Valeur par défaut

Description

fullscreen

BOOL (readonly)

NO

Indique si le lecteur est en mode plein écran.

controlsVisible

BOOL (readonly)

NO

Indique si la barre de contrôle est visible.

- reset

-

-

Réinitialise tous les états à leurs valeurs par défaut.

- updateFullscreen:

BOOL fullscreen

-

Met à jour l'état plein écran.

- updateControlsVisible:

BOOL controlsVisible

-

Met à jour la visibilité de la barre de contrôle.

Source vidéo

VideoSource (Modèle de source vidéo)

Propriété

Type

Description

sourceType

VideoSourceType

Le type de source vidéo.

uniqueId

NSString *

L'identifiant unique. Renvoie vid pour VidAuth/VidSts et url pour URL.

url

NSString *

L'URL de la vidéo. Valide pour le type URL.

vid

NSString *

L'ID de la vidéo. Valide pour VidAuth/VidSts.

playAuth

NSString *

L'identifiant de lecture. Valide pour VidAuth.

accessKeyId

NSString *

L'AccessKeyId STS.

accessKeySecret

NSString *

L'AccessKeySecret STS.

securityToken

NSString *

Le SecurityToken STS.

region

NSString *

L'ID de la région.

Méthodes de fabrique

Méthode

Paramètre

Valeur de retour

Description

+ vidAuthSourceWithVid:playAuth:

vid, playAuth

VideoSource *

Crée une source vidéo VidAuth. Cette option est recommandée.

+ vidStsSourceWithVid:accessKeyId:accessKeySecret:securityToken:region:

vid, keyId, secret, token, region

VideoSource *

Crée une source vidéo VidSts.

+ urlSourceWithUrl:

url

VideoSource *

Crée une source vidéo URL.

- (BOOL)isValid

-

BOOL

Valide la configuration.

VideoSourceType (Type de source vidéo)

Constante

Valeur

Description

VideoSourceTypeVidAuth

0

Identifiant VID + identifiant de lecture PlayAuth. Cette option est recommandée.

VideoSourceTypeVidSts

1

Identifiant VID + identifiant temporaire STS.

VideoSourceTypeUrl

2

Lecture directe par URL.

Système de stratégies

Le système de stratégies offre un mécanisme enfichable permettant d'étendre le comportement de lecture. Les noms de stratégie doivent être uniques à l'échelle globale.

StrategyProtocol (Protocole de stratégie)

Ce protocole définit le contrat de cycle de vie d'une stratégie. Les noms de stratégie doivent être uniques à l'échelle globale.

Méthode

Paramètre

description

- strategyName (@required)

-

Nom d'identifiant unique de la stratégie.

- strategyDidStart: (@required)

StrategyContext * context

La stratégie démarre et se lie au contexte du lecteur.

- strategyDidStop (@required)

-

La stratégie s'arrête et se détache du contexte.

- strategyDidReset: (@required)

StrategyContext * context

La stratégie est réinitialisée. Cette méthode est appelée lors du changement de source vidéo.

StrategyContext (Contexte de stratégie)

Le contexte d'environnement du lecteur en lecture seule est fourni à la stratégie et est créé puis transmis par StrategyManager au démarrage de la stratégie.

Propriété

type

description

controller

AliPlayerController *

Contrôleur de lecteur associé.

playerModel

AliPlayerModel *

Modèle de configuration de lecture actuel.

stateStore

PlayerStateStore *

Magasin d'état du lecteur.

Important

Cet objet n'est plus valide après l'appel à strategyDidStop ; vous ne devez pas continuer à l'utiliser.

BaseStrategy (Classe de stratégie de base)

Classe de base abstraite pour les stratégies qui implémente StrategyProtocol et PlayerNotificationDelegate afin de gérer automatiquement l'abonnement et le désabonnement aux événements du lecteur.

Propriété / Méthode

description

context (readonly, nullable)

Contexte de stratégie actuel. Il n'est valide qu'entre start et stop.

- resetInternalState

Méthode hook permettant aux sous-classes de réinitialiser leur état interne, par exemple en effaçant des compteurs ou des minuteurs.

Flux de cycle de vie : strategyDidStart: → Enregistrement du contexte → Inscription de l'agent de notification → strategyDidReset: → Mise à jour du contexte → Appel de resetInternalState → strategyDidStop → Désinscription de l'agent de notification → Effacement du contexte.

Remarque

Les classes enfants doivent remplacer la méthode strategyName. Si vous remplacez strategyDidStart:, strategyDidStop ou strategyDidReset:, vous devez appeler super.

StrategyManager (Gestionnaire de stratégies)

Chaque AliPlayerController possède une instance de StrategyManager. Les stratégies sont exécutées dans l'ordre d'enregistrement et les appels de cycle de vie pour chaque stratégie sont isolés à l'aide de @try/@catch.

Méthodes

Méthode

Paramètre

description

- registerStrategy:

id<StrategyProtocol> strategy

Enregistre une stratégie. Si une stratégie portant le même nom existe déjà, elle est arrêtée et remplacée.

- unregisterStrategyWithName:

NSString * name

Désenregistre une stratégie par son nom.

- strategyWithName:

NSString * name

Recherche une stratégie par son nom.

- startWithController:playerModel:

controller, playerModel

Démarre toutes les stratégies enregistrées.

- resetWithPlayerModel:

AliPlayerModel * playerModel

Réinitialise toutes les stratégies. Cette méthode est utilisée lors du changement de source vidéo.

- stop

-

Arrête toutes les stratégies.

- destroy

-

Arrête et supprime toutes les stratégies.

Propriétés

Propriété

type

description

strategyCount

NSUInteger

Nombre de stratégies actuellement enregistrées.

started

BOOL

Indique si le gestionnaire est en cours d'exécution.

StrategyRegistry (Registre global de stratégies)

Le registre global de stratégies est un singleton qui maintient un groupe de blocs factory de stratégies. Chaque fois qu'un nouveau AliPlayerController est créé, toutes les factories enregistrées sont instanciées et injectées dans le StrategyManager du contrôleur à l'aide de applyToManager:.

Méthode

Paramètre

description

+ sharedRegistry

-

Obtient le singleton du registre global.

- addGlobalStrategyFactory:

StrategyFactory factory

Ajoute une factory de stratégie globale.

- clearGlobalStrategies

-

Supprime toutes les factories de stratégies globales, y compris celles intégrées.

- applyToManager:

StrategyManager * manager

Instancie toutes les stratégies globales et les enregistre auprès du gestionnaire spécifié.

- resetToDefault

-

Restaure la configuration de stratégie intégrée par défaut.

Remarque

Les stratégies intégrées (FirstFrameStrategy, StutterDetectStrategy et TrafficProtectionStrategy) sont automatiquement enregistrées lors du premier accès.

Stratégies intégrées

FirstFrameStrategy (Surveillance du temps jusqu'à la première image)

Mesure le temps écoulé entre le début de la préparation du lecteur et le rendu de la première image. Elle est divisée en une phase de préparation (Preparing to Prepared) et une phase de rendu (Prepared to FirstFrameRendered).

Propriété

type

description

delegate

id<FirstFrameStrategyDelegate> (weak)

Délégué de rappel

Rappel FirstFrameStrategyDelegate :

Méthode

Paramètre

description

- firstFrameStrategy:didRenderFirstFrameWithPrepareTime:renderTime:totalTime:

strategy, prepareTimeMs, renderTimeMs, totalTimeMs

La première image est rendue.

StutterDetectStrategy (Détection des saccades)

Détecte les saccades en écoutant les événements Loading. Le chargement avant le rendu de la première image n'est pas comptabilisé.

Propriété

type

description

stutterCount

NSInteger

Nombre de saccades durant la session actuelle.

totalStutterDurationMs

NSInteger

Durée totale des saccades durant la session actuelle, en millisecondes.

stutterThresholdMs

NSInteger

Seuil de saccade en millisecondes. Valeur par défaut : 0.

delegate

id<StutterDetectStrategyDelegate>

Délégué de rappel.

- initWithThreshold:

NSInteger

Crée une stratégie de détection des saccades avec un seuil spécifié.

Rappel StutterDetectStrategyDelegate :

Méthode

Paramètre

description

- stutterDetectStrategy:didStutter:

strategy, durationMs

Une saccade est détectée.

- stutterDetectStrategy:didAnalyzeSession:validPlayDuration:totalStutterDuration:stutterCount:

strategy, stayDurationMs, validPlayDurationMs, totalStutterDurationMs, stutterCount

L'analyse de la session de lecture est terminée.

TrafficProtectionStrategy (Protection du trafic)

Surveille les changements d'état du réseau et détecte la lecture sur les réseaux cellulaires. Elle effectue uniquement la détection et la journalisation, sans mettre automatiquement la lecture en pause.

Propriété

type

description

isOnCellularNetwork

BOOL

Indique si l'appareil est actuellement connecté à un réseau cellulaire.

delegate

id<TrafficProtectionStrategyDelegate>

Délégué de rappel.

Rappel TrafficProtectionStrategyDelegate :

Méthode

Paramètre

description

- trafficProtectionStrategyDidDetectCellularNetwork:

strategy

La lecture sur un réseau cellulaire est détectée.

- trafficProtectionStrategyDidDetectWifiNetwork:

strategy

Le réseau revient au Wi-Fi.

Système de journalisation

Le système de journalisation fournit un mécanisme unifié pour la sortie des journaux et l'enregistrement des observateurs.

LogHub (Centre de journalisation)

Le centre de gestion des journaux (singleton) unifie la sortie des journaux et l'enregistrement des observateurs. Il utilise un modèle de threading hybride : la sortie console est effectuée de manière synchrone sur le thread appelant, tandis que les notifications aux observateurs sont distribuées de manière asynchrone vers une file d'attente série en arrière-plan.

Propriétés

Propriété

type

Valeur par défaut

description

logEnabled

BOOL

YES

Indique s'il faut activer la sortie des journaux.

logLevel

LogLevel

LogLevelInfo

Niveau minimal de sortie des journaux.

consoleLogEnabled

BOOL

YES

Indique s'il faut activer la sortie console (NSLog).

Gestion des observateurs

Méthode

Paramètre

description

+ sharedHub

-

Obtient le singleton LogHub partagé.

- addObserver:

id<LogObserver> observer

Ajoute un observateur de journal. Il est conservé par une référence forte.

- removeObserver:

id<LogObserver> observer

Supprime un observateur de journal.

Sortie des journaux

Méthode

Paramètre

description

- v:msg:

tag, message

Génère un journal de niveau Verbose.

- d:msg:

tag, message

Génère un journal de niveau Debug.

- i:msg:

tag, message

Génère un journal de niveau Info.

- w:msg:

tag, message

Génère un journal de niveau Warn.

- e:msg:

tag, message

Génère un journal de niveau Error.

- e:msg:error:

tag, message, error (nullable)

Génère un journal de niveau Error avec un objet d'erreur associé.

- log:tag:msg:

level, tag, message

Génère un journal au niveau spécifié.

Méthodes utilitaires

Méthode

Paramètre

Valeur de retour

description

+ levelToString:

LogLevel level

NSString *

Convertit un niveau de journal en chaîne abrégée (V/D/I/W/E/N).

+ stringToLevel:

NSString * levelName

LogLevel

Convertit une chaîne de nom de niveau en valeur d'énumération.

LogObserver (Protocole d'observateur de journal)

Implémentez ce protocole pour recevoir tous les rappels de sortie de journal afin de gérer les journaux de manière personnalisée, par exemple en les écrivant dans un fichier ou en les signalant à un serveur.

Méthode

Paramètre

description

- onLog: (@required)

LogInfo * logInfo

Rappel de sortie de journal. Il est exécuté sur un sous-thread.

LogInfo (Modèle d'informations de journal)

Modèle de données pour une entrée de journal unique.

Propriété

type

description

level

LogLevel

Niveau du journal.

tag

NSString *

Tag du journal.

message

NSString *

Message du journal.

timestamp

NSDate *

Horodatage.

threadName

NSString *

Nom du thread.

fileName

NSString *

Nom du fichier source.

line

NSInteger

Numéro de ligne du code source.

error

NSError *

Objet d'erreur associé.

- formattedString

-

Obtient la chaîne de journal formatée.

Système de préchargement

Le système de préchargement encapsule la fonctionnalité globale de préchargement du SDK du lecteur. Vous pouvez y accéder via [AliPlayerKit preloader].

PlayerPreloader (Protocole de préchargement)

Ce protocole encapsule la fonctionnalité globale de préchargement du SDK du lecteur. Vous pouvez y accéder via [AliPlayerKit preloader].

Méthode

Paramètre

Valeur de retour

Description

- addTask:delegate:

task, delegate

NSString * (ID de tâche)

Ajoute une tâche de préchargement.

- cancelTask:

NSString * taskId

void

Annule une tâche spécifique.

- pauseTask:

NSString * taskId

void

Suspend une tâche spécifique.

- resumeTask:

NSString * taskId

void

Reprend une tâche spécifique.

- cancelAll

-

void

Annule toutes les tâches de préchargement.

PlayerPreloadTask (Tâche de préchargement)

Propriété

Type

Description

videoSource

VideoSource *

La source de données vidéo.

preloadConfig

PlayerPreloadConfig *

La configuration de préchargement.

- initWithVideoSource:preloadConfig:

videoSource, preloadConfig

Crée une tâche de préchargement.

PlayerPreloadConfig (Configuration de préchargement)

Propriété

Type

Valeur par défaut

Description

preloadDuration

NSInteger

3000

La durée de préchargement en millisecondes.

loadStartPositionMs

NSInteger

0

La position de début du préchargement en millisecondes.

defaultQuality

NSString *

@"AUTO"

L'identifiant de qualité par défaut.

defaultResolution

NSInteger

0

La résolution par défaut. 0 signifie aucune limite.

defaultBandWidth

NSInteger

0

Le débit binaire par défaut. 0 signifie aucune limite.

networkTimeout

NSInteger

0

Le délai d'expiration réseau en millisecondes. 0 utilise la valeur par défaut du SDK.

networkRetryCount

NSInteger

0

Le nombre de tentatives réseau. 0 utilise la valeur par défaut du SDK.

referrer

NSString * (nullable)

nil

Informations sur le référent.

customHeaders

NSArray<NSString *> *

nil

En-têtes de requête personnalisés.

Méthodes de création

Méthode

Paramètre

Description

- init

-

Crée une configuration avec les paramètres par défaut.

- initWithPreloadDuration:defaultQuality:

preloadDuration, defaultQuality

Crée une configuration avec une durée de préchargement et une qualité par défaut spécifiées.

PreloadDelegate (Délégué de préchargement)

Ce protocole reçoit les événements d'état des tâches de préchargement. Toutes les méthodes sont @required.

Remarque

Les rappels peuvent être déclenchés sur un thread d'arrière-plan. Vous devez les dispatcher vers le thread principal pour leur traitement.

Méthode

Paramètre

Description

- preloadTaskDidComplete:source:

taskId, source

La tâche de préchargement est terminée.

- preloadTaskDidFail:source:error:

taskId, source, error

La tâche de préchargement a échoué.

- preloadTaskDidCancel:source:

taskId, source

La tâche de préchargement a été annulée.

Système de localisation

Le système de localisation gère la prise en charge multilingue de PlayerKit. Il prend en charge trois modes : suivre automatiquement la langue du système, spécifier manuellement une langue ou utiliser des fournisseurs personnalisés.

LocaleManager (Gestionnaire de localisation)

Le gestionnaire de localisation (singleton) qui gère la prise en charge multilingue de PlayerKit.

Chaîne de résolution : Fournisseur personnalisé (si injecté) → Bundle pour la langue spécifiée manuellement (mode Manuel) → Bundle SDK suivant la langue du système → Renvoie la clé elle-même en dernier recours.

Propriétés

Propriété

Type

Description

currentLanguageCode

NSString *

Le code de langue actuel.

localeMode

LocaleMode

Le mode de langue actuel.

localeProvider

id<LocaleProvider>

Le fournisseur personnalisé actuellement injecté.

Méthodes

Méthode

Paramètre

Description

+ sharedManager

-

Obtient l'instance singleton.

- setLanguageCode:

NSString * languageCode

Définit la langue manuellement. Cela bascule en mode Manuel.

- setLocaleProvider:

id<LocaleProvider> provider

Injecte un fournisseur personnalisé. Il est détenu par une référence faible. Passez nil pour le supprimer.

- resetToSystemLanguage

-

Réinitialise la langue pour suivre la langue du système.

- localizedStringForKey:

NSString * key

Interroge une chaîne localisée.

LocaleMode (Mode de langue)

Constante

Valeur

Description

LocaleModeSystem

0

Suit la langue du système. C'est la valeur par défaut.

LocaleModeManual

1

Spécifie manuellement le code de langue.

LocaleProvider (Protocole de fournisseur de localisation)

L'application hôte peut implémenter ce protocole pour fournir des traductions personnalisées pour PlayerKit.

Méthode

Paramètre

Valeur de retour

Description

- localizedStringForKey: (@optional)

NSString * key

NSString * (nullable)

Renvoie une chaîne localisée pour une clé spécifiée. Le renvoi de nil signifie que le SDK la traitera comme solution de repli.

LocaleDidChangeNotification (Notification de changement de langue)

Lorsque le mode de langue ou le code de langue change, une notification LocaleDidChangeNotification est envoyée sur le thread principal. Le dictionnaire userInfo contient le nouveau code de langue sous la clé LocaleLanguageCodeKey.

Énumérations et constantes clés

Types d'énumération principaux utilisés dans AliPlayerKit.

PlayerState (État du lecteur)

Constante

Valeur

Description

PlayerStateIdle

0

Inactif. Initialisé mais aucune ressource n'est chargée.

PlayerStatePreparing

1

En préparation. Chargement asynchrone des ressources.

PlayerStatePrepared

2

Prêt. Prêt à démarrer la lecture.

PlayerStatePlaying

3

En lecture.

PlayerStatePaused

4

En pause.

PlayerStateCompleted

5

Terminé.

PlayerStateStopped

6

Arrêté.

PlayerStateError

7

État d'erreur.

SceneType (Type de scénario)

Constante

Valeur

Description

SceneTypeVOD

0

Scénario de vidéo à la demande

SceneTypeLive

1

Scénario de diffusion en direct.

SceneTypeVideoList

2

Scénario de liste de vidéos ou de flux de courtes vidéos.

SceneTypeRestricted

3

Scénario de lecture restreinte.

SceneTypeMinimal

4

Scénario de page de lecture minimaliste.

ScaleMode (Mode de mise à l'échelle)

Constante

Valeur

Description

ScaleModeFitXY

0

Étire pour remplir la vue.

ScaleModeFitCenter

1

Mise à l'échelle proportionnelle pour s'adapter à la vue. Cela peut laisser des bandes noires.

ScaleModeCenterCrop

2

Mise à l'échelle proportionnelle et recadrage pour remplir.

MirrorMode (Mode miroir)

Constante

Valeur

Description

MirrorModeNone

0

Aucun effet miroir.

MirrorModeHorizontal

1

Effet miroir horizontal.

MirrorModeVertical

2

Effet miroir vertical.

RotateMode (Mode de rotation)

Constante

Valeur

Description

RotateModeDegree0

0

0 degré.

RotateModeDegree90

90

90 degrés.

RotateModeDegree180

180

180 degrés.

RotateModeDegree270

270

270 degrés.

LogLevel (Niveau de journalisation)

Constante

Valeur

Description

LogLevelVerbose

0

Informations de débogage les plus détaillées.

LogLevelDebug

1

Niveau de débogage.

LogLevelInfo

2

Niveau d'information. C'est la valeur par défaut.

LogLevelWarn

3

Niveau d'avertissement.

LogLevelError

4

Niveau d'erreur.

LogLevelNone

100

Désactive tous les journaux.

TrackType (Type de piste)

Constante

Valeur

Description

TrackTypeUnknown

0

Inconnu.

TrackTypeVideo

1

Piste vidéo.

TrackTypeAudio

2

Piste audio.

TrackTypeSubtitle

3

Piste de sous-titres.

TrackTypeVOD

4

Piste VOD.