Tous les produits
Search
Centre de documentation

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

Dernière mise à jour :Sep 11, 2026

Cette rubrique décrit les principales API d'AliPlayerKit. Elle couvre les API principales, le système de slots, les sources vidéo, les interfaces du lecteur, le stockage d'état, le système d'événements, le système de journalisation, les interfaces de préchargement, les politiques de cycle de vie et le système de stratégie.

Remarque

AliPlayerKit fournit des commentaires de code complets pour toutes les API principales, y compris les classes et les méthodes. Dans les environnements de développement intégrés (IDE) tels qu'Android Studio, vous pouvez consulter ces commentaires via les infobulles ou la fonction Quick Documentation afin d'améliorer votre efficacité de développement. Ces commentaires rendent également les API plus accessibles aux outils de programmation assistée par IA, leur permettant de mieux comprendre la sémantique des API.

API principales

AliPlayerKit (Interface globale)

La classe AliPlayerKit assure la configuration globale et l'initialisation. Elle constitue l'unique point d'entrée global pour l'ensemble du framework du lecteur.

Méthodes d'initialisation

Méthode

Paramètre

Valeur de retour

Description

init(Context)

context : contexte de l'application

void

Initialise les paramètres globaux. Appelez cette méthode dans Application.onCreate().

Requête d'état

Méthode

Paramètre

Valeur de retour

Description

isInitialized()

-

boolean

Vérifie si l'initialisation est terminée.

getContext()

-

Context

Récupère le contexte de l'application.

getPlayerKitVersion()

-

String

Récupère le numéro de version du Kit.

getSdkVersion()

-

String

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

getDeviceId()

-

String

Récupère l'ID de l'appareil.

Méthodes de configuration

Méthode

Paramètre

Valeur de retour

Description

setDebugModeEnabled(boolean)

enable : indique si la fonctionnalité est activée.

void

Active ou désactive le mode débogage.

isDebugModeEnabled()

-

boolean

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

setLogPanelEnabled(boolean)

enable : définissez sur true pour activer

void

Affiche ou masque le panneau de journaux.

isLogPanelEnabled()

-

boolean

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

setDisableScreenshot(boolean)

disable : indique si la fonctionnalité est désactivée.

void

Active ou désactive les captures d'écran.

isDisableScreenshot()

-

boolean

Vérifie si les captures d'écran sont désactivées.

setPlayerViewType(PlayerViewType)

viewType : type de vue

void

Définit le type de vue du lecteur.

getPlayerViewType()

-

PlayerViewType

Récupère le type actuel de vue du lecteur.

Gestion du cache

Méthode

Paramètre

Valeur de retour

Description

clearCaches()

-

void

Efface les caches du lecteur.

API globales

Méthode

Paramètre

Valeur de retour

Description

getLogger()

-

IPlayerLogger

Récupère l'instance globale du journaliseur.

getPreloader()

-

IPlayerPreloader

Récupère l'instance globale du préchargeur.

setLogger(IPlayerLogger)

logger : instance du journaliseur

void

Définit une implémentation personnalisée du journaliseur.

setPreloader(IPlayerPreloader)

preloader : instance du préchargeur

void

Définit une implémentation personnalisée du préchargeur.

AliPlayerView (Composant View)

La classe AliPlayerView représente le composant principal de la vue du lecteur. Elle gère le rendu de l'interface utilisateur et la gestion des slots. En tant que couche View dans l'architecture MVC, elle assure le rendu de l'interface du lecteur et administre les composants UI.

Liaison du contrôleur

Méthode

Paramètre

Valeur de retour

Description

attach(AliPlayerController, AliPlayerModel)

controller, model

void

Lie le contrôleur et les données en utilisant l'interface utilisateur par défaut.

attach(AliPlayerController, AliPlayerModel, SlotRegistry)

controller, model, registry

void

Lie le contrôleur et les données en utilisant une interface utilisateur personnalisée.

detach()

-

void

Annule la liaison et libère les ressources.

Cycle de vie

Méthode

Paramètre

Valeur de retour

Description

bindLifecycle(LifecycleOwner)

lifecycleOwner

boolean

Lie le cycle de vie.

Autres méthodes

Méthode

Paramètre

Valeur de retour

Description

onBackPressed()

-

boolean

Gère l'appui sur le bouton Retour. Renvoie true si l'événement est géré.

getSlotManager()

-

ISlotManager

Récupère le gestionnaire de slots.

AliPlayerController (Contrôleur)

La classe AliPlayerController contrôle la logique de lecture et la gestion des états. En tant que couche Controller dans l'architecture MVC, elle coordonne les interactions entre les couches View et Model.

Constructeurs

Méthode

Paramètre

Description

AliPlayerController(Context)

context : contexte de l'application

Crée un contrôleur en utilisant la politique de cycle de vie par défaut.

AliPlayerController(Context, IPlayerLifecycleStrategy)

context, lifecycleStrategy

Crée un contrôleur en utilisant une politique de cycle de vie personnalisée.

Configuration et initialisation

Méthode

Paramètre

Valeur de retour

Description

configure(AliPlayerModel)

model : données de lecture

void

Configure les données de lecture.

getModel()

-

AliPlayerModel

Récupère la configuration actuelle des données de lecture.

getPlayer()

-

IMediaPlayer

Récupère l'instance du lecteur.

destroy()

-

void

Détruit le lecteur.

Gestion des états

Méthode

Paramètre

Valeur de retour

Description

getStateStore()

-

IPlayerStateStore

Récupère le magasin d'états du lecteur.

getStrategyManager()

-

StrategyManager

Récupère le gestionnaire de stratégies.

Paramètres d'affichage

Méthode

Paramètre

Valeur de retour

Description

setDisplayView(AliDisplayView)

displayView

void

Définit la vue d'affichage.

setSurface(Surface)

surface

void

Définit la Surface.

surfaceChanged()

-

void

Notifie que la Surface a changé.

Méthodes de cycle de vie

Méthode

Paramètre

Valeur de retour

Description

onResume()

-

void

Reprend manuellement la lecture en dehors d'un contexte LifecycleOwner.

onPause()

-

void

Suspend manuellement la lecture en dehors d'un contexte LifecycleOwner.

AliPlayerModel (Modèle de données)

La classe AliPlayerModel encapsule les données de configuration de la lecture. En tant que couche Model dans l'architecture MVC, elle contient toutes les données de configuration requises par le lecteur. Utilisez le modèle Builder pour créer des instances.

Méthodes du Builder

Méthode

Paramètre

Description

videoSource(VideoSource)

objet source vidéo

Définit la source vidéo. Obligatoire.

sceneType(int)

type de scène

Définit le type de scène de lecture.

coverUrl(String)

URL de la vignette

Définit l'URL de la vignette.

videoTitle(String)

titre de la vidéo

Définit le titre de la vidéo.

autoPlay(boolean)

Lecture automatique

Définit si la lecture automatique est activée.

traceId(String)

ID de trace

Définit l'ID de trace.

startTime(long)

position de départ

Définit la position de départ en millisecondes.

isHardWareDecode(boolean)

Le décodage matériel est-il activé ?

Définit si le décodage matériel est activé.

allowedScreenSleep(boolean)

La mise en veille est-elle prise en charge ?

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

build()

-

Construit une instance AliPlayerModel.

Accesseurs de propriétés

Méthode

Valeur de retour

Description

getVideoSource()

VideoSource

Récupère l'objet source vidéo.

getSceneType()

int

Récupère le type de scène de lecture.

getCoverUrl()

String

Récupère l'URL de la vignette.

getVideoTitle()

String

Récupère le titre de la vidéo.

isAutoPlay()

boolean

Indique si la lecture automatique est activée.

getTraceId()

String

Récupère l'ID de trace.

getStartTime()

long

Récupère la position de départ.

isHardWareDecode()

boolean

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

isAllowedScreenSleep()

boolean

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

Système de slots

Le système de slots constitue le mécanisme d'extension d'interface utilisateur d'AliPlayerKit. Il vous permet de personnaliser les composants individuels de l'interface du lecteur.

ISlotManager (Interface de gestion des slots)

L'interface ISlotManager fournit les fonctionnalités de gestion des slots. Récupérez-la via AliPlayerView.getSlotManager().

  • Méthode

    Paramètre

    Valeur de retour

    Description

    rebuildSlots()

    -

    void

    Reconstruit tous les slots après modification du SlotRegistry.

    getSlotView(SlotType)

    slotType : type de slot

    View

    Récupère la vue du slot pour le type spécifié.

    bindData(AliPlayerModel)

    model : données de lecture

    void

    Lie les données de lecture au système de slots.

    unbindData()

    -

    void

    Dissocie les données de lecture.

    updateSceneType(int)

    sceneType : type de scène

    void

    Met à jour le type de scène et reconstruit les slots.

SlotRegistry (Registre des slots)

La classe SlotRegistry enregistre les slots personnalisés. Transmettez-la à AliPlayerView.attach().

Méthodes d'enregistrement

Méthode

Paramètre

Description

register(SlotType, SlotBuilder)

type, builder

Enregistre un constructeur de slot.

register(SlotType, Class<? extends View>)

type, slotClass

Enregistre une classe de slot. La classe est instanciée par réflexion.

register(SlotType, int)

type, layoutId

Enregistre une ressource de mise en page en tant que slot.

Méthodes de gestion

Méthode

Valeur de retour

Description

unregister(SlotType)

SlotBuilder

Supprime l'enregistrement d'un constructeur de slot.

isRegistered(SlotType)

boolean

Vérifie si le slot est enregistré.

clear()

void

Efface tous les enregistrements.

size()

int

Récupère le nombre de slots enregistrés.

ISlot (Interface de slot)

Les slots personnalisés doivent implémenter l'interface ISlot afin de définir leur cycle de vie.

Méthode

Description

onAttach(SlotHost)

Appelée lorsque le slot est attaché à son hôte.

onDetach()

Appelée lorsque le slot est détaché de son hôte.

onBindData(AliPlayerModel)

Appelée lors de la liaison des données de lecture.

onUnbindData()

Appelée lors de la dissociation des données de lecture.

Remarque

Nous recommandons d'étendre BaseSlot pour implémenter des slots personnalisés. Le framework gère automatiquement les cycles de vie des abonnements aux événements.

SlotType (Types de slots)

Constante

Description

SlotType.PLAYER_SURFACE

Slot de vue de surface du lecteur : vue principale utilisée pour le rendu du contenu vidéo.

SlotType.FULLSCREEN

Slot de gestion du plein écran : gère la logique de basculement en mode plein écran.

SlotType.GESTURE_CONTROL

Slot de contrôle gestuel : prend en charge les gestes tels que le tapotement, le double tapotement, l'appui long et le glissement.

SlotType.LANDSCAPE_HINT

Slot d'indication de visionnage en paysage : invite les utilisateurs à regarder les vidéos en paysage en mode plein écran.

SlotType.COVER

Slot d'image de couverture : affiche l'image de couverture de la vidéo.

SlotType.CENTER_DISPLAY

Slot d'affichage central : affiche les informations d'état dans la zone centrale, telles que la vitesse de lecture, la luminosité et le volume.

SlotType.PLAY_STATE

Slot d'état de lecture : affiche les informations relatives à l'état de lecture, comme les messages d'erreur et les indicateurs de chargement.

SlotType.LOG_PANEL

Slot de panneau de journaux : affiche les informations de journalisation du lecteur à des fins de débogage.

SlotType.TOP_BAR

Slot de barre de contrôle supérieure : affiche le bouton de retour, le titre et les paramètres.

SlotType.BOTTOM_BAR

Slot de barre de contrôle inférieure : affiche les commandes de lecture, la barre de progression et le bouton de basculement en plein écran.

SlotType.SETTING_MENU

Slot de menu des paramètres : affiche le menu des paramètres, incluant les options de vitesse de lecture, de définition, de miroir et de rotation.

SceneType (Scènes de lecture)

Constante

Valeur

Description

SceneType.VOD

0

Scène de vidéo à la demande : lecture vidéo standard avec commandes de lecture complètes.

SceneType.LIVE

1

Scène de diffusion en direct : lecture de flux en temps réel sans recherche temporelle ni contrôle de vitesse.

SceneType.VIDEO_LIST

2

Scène de liste de vidéos : lecteur utilisé dans une liste de vidéos. Désactive les gestes verticaux.

SceneType.RESTRICTED

3

Scène de lecture restreinte : limite les opérations sur la timeline. Utilisée dans les contextes éducatifs et de formation.

SceneType.MINIMAL

4

Scène de lecture minimale : affiche uniquement la vue de lecture sans éléments d'interface utilisateur.

PlayerViewType (Types de vues du lecteur)

Constante

Description

PlayerViewType.DISPLAY_VIEW

AliDisplayView (recommandé) : composant d'affichage officiel offrant une meilleure compatibilité et de meilleures performances.

PlayerViewType.SURFACE_VIEW

SurfaceView : utilise un thread de rendu dédié, mais ne prend pas en charge les animations.

PlayerViewType.TEXTURE_VIEW

TextureView : prend en charge les animations et les transformations. Idéal pour les scènes nécessitant des animations de vue.

Sources vidéo

VideoSourceFactory (Fabrique de sources vidéo)

Méthode

Paramètre

Valeur de retour

Description

VideoSourceFactory.createVidAuthSource(String, String)

vid, playAuth

VideoSource

Crée une source vidéo VidAuth (recommandée).

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

vid, accessKeyId, accessKeySecret, securityToken, region

VideoSource

Crée une source vidéo VidSts.

VideoSourceFactory.createUrlSource(String)

url : URL de la vidéo

VideoSource

Crée une source vidéo par URL.

Remarque

Dans les environnements de production, utilisez la méthode VidAuth. Elle offre une sécurité accrue et s'intègre aux services Alibaba Cloud VOD pour des fonctionnalités de lecture améliorées. Pour plus d'informations, consultez Prise en charge de plusieurs sources vidéo.

VideoSource (Source vidéo)

Méthode

Valeur de retour

Description

isValid()

boolean

Vérifie si la source vidéo est valide.

getType()

int

Récupère le type de source vidéo.

getSourceId()

String

Récupère l'ID de la source vidéo.

Interfaces du lecteur

IMediaPlayer (Interface du lecteur multimédia)

L'interface IMediaPlayer définit les opérations principales du lecteur. Récupérez-la via AliPlayerController.getPlayer().

Contrôles de lecture

Méthode

Paramètre

Description

start()

-

Démarre la lecture.

pause()

-

Met la lecture en pause.

toggle()

-

Bascule entre la lecture et la pause.

stop()

-

Arrête la lecture.

replay()

-

Relance la lecture de la vidéo.

seekTo(long)

positionMs

Effectue une recherche à la position spécifiée (en millisecondes).

release()

-

Libère les ressources du lecteur.

Sources de données

Méthode

Paramètre

Description

setDataSource(AliPlayerModel)

model

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

Paramètres d'affichage

Méthode

Paramètre

Description

setDisplayView(AliDisplayView)

displayView

Définit la vue d'affichage.

setSurface(Surface)

surface

Définit la Surface de rendu.

surfaceChanged()

-

Notifie que la Surface a changé.

Paramètres de lecture

Méthode

Paramètre

Description

setSpeed(float)

speed

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

setLoop(boolean)

loop

Active ou désactive la lecture en boucle.

setMute(boolean)

mute

Coupe le son.

setScaleType(int)

scaleType

Définit le mode de remplissage du rendu.

setMirrorType(int)

mirrorType

Définit le mode de miroir.

setRotation(int)

rotation

Définit l'angle de rotation.

selectTrack(TrackQuality)

trackQuality

Sélectionne la définition vidéo.

snapshot()

-

Capture une capture d'écran.

Interrogations d'état

Méthode

Valeur de retour

Description

getPlayerId()

String

Récupère l'identifiant unique du lecteur.

getStateStore()

IPlayerStateStore

Récupère l'interface du magasin d'états.

ScaleType (Modes de remplissage du rendu)

Constante

Valeur

Description

ScaleType.FIT_XY

0

Étire l'image pour remplir la vue.

ScaleType.FIT_CENTER

1

Ajuste l'image tout en préservant les proportions (des bandes noires peuvent apparaître).

ScaleType.CENTER_CROP

2

Recadre l'image pour remplir la vue tout en préservant les proportions.

MirrorType (Modes de miroir)

Constante

Valeur

Description

MirrorType.NONE

0

Aucun effet de miroir.

MirrorType.HORIZONTAL

1

Miroir horizontal.

MirrorType.VERTICAL

2

Miroir vertical.

Rotation (Angles de rotation)

Constante

Valeur

Description

Rotation.DEGREE_0

0

0 degré.

Rotation.DEGREE_90

90

90 degrés.

Rotation.DEGREE_180

180

180 degrés.

Rotation.DEGREE_270

270

270 degrés.

Interface de stockage d'état

IPlayerStateStore (Stockage de l'état du lecteur)

L'interface IPlayerStateStore offre un accès en lecture seule à l'état du lecteur. Vous pouvez la récupérer via AliPlayerController.getStateStore() ou IMediaPlayer.getStateStore().

État de lecture

Méthode

Valeur de retour

Description

getPlayState()

PlayerState

Récupère l'état de lecture actuel.

getDuration()

long

Récupère la durée totale de la vidéo en millisecondes.

getCurrentPosition()

long

Récupère la position de lecture actuelle en millisecondes.

getCurrentSpeed()

float

Récupère la vitesse de lecture actuelle.

Paramètres vidéo

Méthode

Valeur de retour

Description

getVideoSize()

VideoSize

Récupère la taille de la vidéo (peut être nulle).

getCurrentRotation()

int

Récupère l'angle de rotation actuel.

getCurrentScaleType()

int

Récupère le mode de remplissage actuel.

getCurrentMirrorType()

int

Récupère le mode de miroir actuel.

Paramètres de lecture

Méthode

Valeur de retour

Description

isLoop()

boolean

Vérifie si la lecture en boucle est activée.

isMute()

boolean

Vérifie si l'audio est en sourdine.

isFullscreen()

boolean

Vérifie si le lecteur est en mode plein écran.

Définition

Méthode

Valeur de retour

Description

getTrackQualityList()

List

Récupère la liste des définitions disponibles.

getCurrentTrackIndex()

int

Récupère l'index de la définition actuelle.

PlayerState (États de lecture)

Constante

Description

PlayerState.UNKNOWN

État inconnu : l'état du lecteur est inconnu ou non initialisé.

PlayerState.IDLE

État inactif : le lecteur est créé mais pas encore initialisé, ou les ressources sont libérées.

PlayerState.INITIALIZING

Initialisation : le lecteur s'initialise et se prépare à charger les ressources vidéo.

PlayerState.INITIALIZED

Initialisé : le lecteur est entièrement initialisé mais pas encore prêt à lire.

PlayerState.PREPARING

Préparation : le lecteur prépare les ressources vidéo et analyse les informations de la vidéo.

PlayerState.PREPARED

Prêt : le lecteur est prêt à démarrer la lecture.

PlayerState.PLAYING

Lecture en cours : le lecteur lit activement la vidéo.

PlayerState.PAUSED

En pause : le lecteur est en pause.

PlayerState.COMPLETED

Terminé : la lecture de la vidéo est terminée.

PlayerState.STOPPED

Arrêté : le lecteur est arrêté.

PlayerState.ERROR

Erreur : une erreur s'est produite pendant la lecture.

Système d'événements

PlayerEventBus (Bus d'événements)

La classe PlayerEventBus constitue le bus d'événements global pour la publication et l'abonnement aux événements du lecteur.

Méthodes d'abonnement

Méthode

Paramètre

Description

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

eventType, listener

S'abonne aux événements du type spécifié.

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

eventType, listener

Se désabonne des événements du type spécifié.

unsubscribe(EventListener<?>)

listener

Désabonne l'écouteur de tous les types d'événements.

unsubscribeAll()

-

Supprime tous les abonnements. À utiliser avec précaution.

Méthodes de publication

Méthode

Paramètre

Description

post(PlayerEvent)

event

Publie un événement.

Méthodes de requête

Méthode

Valeur de retour

Description

getSubscriberCount(Class<?>)

int

Récupère le nombre d'abonnés pour le type d'événement spécifié.

hasSubscribers(Class<?>)

boolean

Vérifie s'il existe des abonnés pour le type d'événement spécifié.

PlayerCommand (Commandes du lecteur)

Les commandes du lecteur contrôlent son comportement. Publiez-les à l'aide de PlayerEventBus.post().

Classe de commande

Paramètre

Description

PlayerCommand.Play

playerId

Commande de lecture.

PlayerCommand.Pause

playerId

Commande de pause.

PlayerCommand.Toggle

playerId

Bascule entre la lecture et la pause.

PlayerCommand.Stop

playerId

Commande d'arrêt.

PlayerCommand.Replay

playerId

Commande de relecture.

PlayerCommand.Seek

playerId, position

Commande de recherche. La position est exprimée en millisecondes.

PlayerCommand.SetSpeed

playerId, speed

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

PlayerCommand.Snapshot

playerId

Commande de capture d'écran.

PlayerCommand.SetLoop

playerId, loop

Active ou désactive la lecture en boucle.

PlayerCommand.SetMute

playerId, mute

Active ou désactive la sourdine.

PlayerCommand.SetScaleType

playerId, scaleType

Définit le mode de remplissage du rendu.

PlayerCommand.SetMirrorType

playerId, mirrorType

Définit le mode de miroir.

PlayerCommand.SetRotation

playerId, rotation

Définit l'angle de rotation.

PlayerCommand.SelectTrack

playerId, trackQuality

Permet de changer la résolution.

Exemple d'utilisation

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

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

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

PlayerEvents (Événements du lecteur)

Les changements d'état du lecteur sont publiés sous forme d'événements. Abonnez-vous pour les écouter.

Classe d'événement

Propriété

Description

PlayerEvents.StateChanged

oldState, newState

L'état de lecture a changé.

PlayerEvents.Prepared

duration

Le lecteur est prêt.

PlayerEvents.FirstFrameRendered

-

La première image a été rendue.

PlayerEvents.VideoSizeChanged

width, height

La taille de la vidéo a changé.

PlayerEvents.Info

duration, currentPosition, bufferedPosition

Les informations de lecture ont été mises à jour.

PlayerEvents.Error

errorCode, errorMsg

Événement d'erreur.

PlayerEvents.LoadingBegin

-

Le chargement a commencé.

PlayerEvents.LoadingProgress

percent, netSpeed

Progression du chargement.

PlayerEvents.LoadingEnd

-

Le chargement est terminé.

PlayerEvents.SetSpeedCompleted

speed

La modification de la vitesse est terminée.

PlayerEvents.SnapshotCompleted

result, snapshotPath, width, height

La capture d'écran est terminée.

PlayerEvents.SetLoopCompleted

loop

La configuration de la boucle est terminée.

PlayerEvents.SetMuteCompleted

mute

La configuration de la sourdine est terminée.

PlayerEvents.SetScaleTypeCompleted

scaleType

La configuration du mode de remplissage est terminée.

PlayerEvents.SetMirrorTypeCompleted

mirrorType

La configuration du mode miroir est terminée.

PlayerEvents.SetRotationCompleted

rotation

La configuration de la rotation est terminée.

PlayerEvents.TrackQualityListUpdated

trackQualityList

La liste des définitions a été mise à jour.

PlayerEvents.TrackSelected

trackIndex

La sélection de la définition est terminée.

Exemple d'utilisation

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

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

Système de journalisation

IPlayerLogger (Interface de journalisation)

L'interface IPlayerLogger fournit une configuration globale de la journalisation. Récupérez-la via AliPlayerKit.getLogger().

Méthode

Paramètre

Valeur de retour

Description

enableConsoleLog(boolean)

enable

void

Active ou désactive la journalisation dans la console.

isConsoleLogEnabled()

-

boolean

Vérifie si la journalisation dans la console est activée.

setLogLevel(int)

level

void

Définit le niveau de journalisation.

getLogLevel()

-

int

Récupère le niveau de journalisation actuel.

setLogCallback(LoggerCallback)

callback

void

Définit l'écouteur de rappel de journalisation.

LogLevel (Niveaux de journalisation)

Constante

Valeur

Description

LogLevel.VERBOSE

0

Niveau le plus détaillé. Enregistre toutes les informations de débogage.

LogLevel.DEBUG

1

Niveau de débogage.

LogLevel.INFO

2

Niveau d'information.

LogLevel.WARN

3

Niveau d'avertissement.

LogLevel.ERROR

4

Niveau d'erreur.

LogLevel.NONE

100

Désactive tous les journaux.

Interfaces de préchargement

IPlayerPreloader (Interface de préchargement)

L'interface IPlayerPreloader assure la gestion globale du préchargement. Récupérez-la via AliPlayerKit.getPreloader().

Méthode

Paramètre

Valeur de retour

Description

addTask(PlayerPreloadTask, PreloadCallback)

task, listener

String

Ajoute une tâche de préchargement et renvoie son ID.

cancelTask(String)

taskId

void

Annule la tâche spécifiée.

pauseTask(String)

taskId

void

Met en pause la tâche spécifiée.

resumeTask(String)

taskId

void

Reprend la tâche spécifiée.

PreloadCallback (Rappel de préchargement)

Méthode

Paramètre

Description

onCompleted(String, VideoSource)

taskId, source

Le préchargement est terminé.

onError(String, VideoSource, int, String)

taskId, source, code, message

Erreur de préchargement.

onCanceled(String, VideoSource)

taskId, source

Le préchargement a été annulé.

Politiques de cycle de vie du lecteur

IPlayerLifecycleStrategy (Interface de politique de cycle de vie du lecteur)

L'interface IPlayerLifecycleStrategy définit la gestion des instances de lecteur tout au long de leur cycle de vie. Elle optimise la création et la réutilisation des instances de lecteur.

Méthode

Paramètre

Valeur de retour

Description

init(IPlayerFactory)

factory

void

Initialise la politique.

acquire(Context, String)

context, uniqueId

IMediaPlayer

Obtient une instance de lecteur.

recycle(IMediaPlayer, String, boolean)

player, uniqueId, force

void

Recycle une instance de lecteur.

clear()

-

void

Efface toutes les ressources.

preload(Context, int)

context, count

void

Précharge les instances de lecteur.

Politiques intégrées

Classe de politique

Description

DefaultLifecycleStrategy

Politique par défaut : crée une nouvelle instance à chaque fois et la détruit immédiatement après utilisation.

ReusePoolLifecycleStrategy

Politique de pool de réutilisation : idéale pour les listes de vidéos en streaming.

IdScopedPoolLifecycleStrategy

Politique basée sur l'ID : lie une instance à un ID unique.

SingletonLifecycleStrategy

Politique singleton : une seule instance globale.

Pour plus d'informations, consultez Politiques de cycle de vie du lecteur.

Système de stratégies

StrategyManager (Gestionnaire de stratégies)

La classe StrategyManager gère le cycle de vie de toutes les stratégies. Récupérez-la via AliPlayerController.getStrategyManager().

Méthode

Paramètre

Valeur de retour

Description

register(IStrategy)

strategy

void

Enregistre une stratégie.

unregister(IStrategy)

strategy

void

Annule l'enregistrement de la politique

getStrategy(String)

name

IStrategy

Récupère une stratégie par son nom.

start(StrategyContext)

context

void

Démarre toutes les stratégies.

stop()

-

void

Arrête toutes les stratégies.

reset()

-

void

Réinitialise toutes les stratégies.

updateContext(StrategyContext)

context

void

Met à jour le contexte et redémarre les stratégies.

destroy()

-

void

Supprime le gestionnaire

getStrategyCount()

-

int

Récupère le nombre de stratégies enregistrées.

isStarted()

-

boolean

Vérifie si le démarrage a eu lieu.

IStrategy (Interface de stratégie)

Méthode

Description

getName()

Récupère le nom de la stratégie.

onStart(StrategyContext)

Appelée au démarrage de la stratégie.

onStop()

Appelée à l'arrêt de la stratégie.

onReset()

Appelée lors de la réinitialisation de la stratégie.