Cette rubrique décrit les fonctionnalités principales d'AliPlayerKit. Elle aborde le positionnement du produit, l'architecture centrale, les responsabilités des composants, les interfaces essentielles ainsi que les détails de ses six systèmes fondamentaux.
Positionnement du produit
Objectifs de conception
AliPlayerKit est conçu comme une couche d'architecture de lecture universelle, et non simplement comme un composant d'interface utilisateur de lecteur. Ses objectifs sont les suivants :
|
Objectif de conception |
Description |
|
Intégration low-code |
Intégrez des scénarios de lecture complets avec un minimum de code. |
|
Couverture multi-scénarios |
Couvrez divers scénarios de lecture, tels que la vidéo à la demande (VOD), la diffusion en direct et les vidéos courtes. |
|
Architecture réutilisable |
Évitez le développement redondant des fonctionnalités du lecteur sur différents services grâce à une architecture basée sur des slots et des politiques. |
|
Fondation unifiée |
Servez de base unifiée pour toutes les solutions de lecteur et les solutions spécifiques aux scénarios. |
Niveaux d'architecture
Dans la hiérarchie architecturale, AliPlayerKit se situe au-dessus du noyau du lecteur. Il prend en charge les fonctionnalités communes à divers services de lecture via un système de composants d'interface utilisateur unifié et une abstraction des scénarios de lecture.
|
Niveau |
Positionnement |
Emplacement du module |
Responsabilité |
|
Couche des composants |
Composant d'interface utilisateur du lecteur |
|
Fournissez des composants d'interface utilisateur de lecteur prêts à l'emploi et configurables qui couvrent la lecture de base et les fonctionnalités interactives courantes. |
|
Couche des scénarios |
Solutions basées sur des scénarios |
|
Fournissez des exemples d'intégration standardisés pour des scénarios typiques, tels que les drames courts, les vidéos moyennes et longues, et la diffusion en direct. Cela aide les clients à construire rapidement des capacités de lecture complètes avec un minimum de code. |
Architecture principale
AliPlayerKit utilise une architecture centrale 3+1 pour construire son framework de lecteur :
-
Trois interfaces d'exécution : Ces interfaces suivent le modèle d'architecture Model-View-Controller (MVC), qui sépare et découple les responsabilités de l'affichage de l'interface utilisateur, du contrôle de la lecture et de la configuration des données.
AliPlayerView: Le composant d'interface utilisateur du lecteur qui gère le rendu de l'interface et l'interaction utilisateur (View).AliPlayerController: Le composant de contrôle de la lecture qui gère la logique de lecture et la gestion des états (Controller).AliPlayerModel: Le composant de modèle de données qui encapsule la configuration de lecture du lecteur et les informations multimédias (Model).
-
Une interface globale : Cette interface fournit l'initialisation du framework et la gestion des fonctionnalités globales. Elle sert de point d'entrée unifié pour le framework du lecteur.
AliPlayerKit: Initialise le framework et fournit des fonctionnalités de base, telles que la configuration globale, la gestion des journaux et le préchargement.
Conception de l'architecture
AliPlayerKit utilise l'architecture MVC classique pour diviser le lecteur en composants indépendants.
Responsabilités des composants
|
Composant |
Type |
Responsabilité |
Cycle de vie |
|
|
Point d'entrée global |
Configuration globale, gestion du cache, informations de version. |
Niveau application |
|
|
View |
Affichage de l'interface utilisateur, gestion des slots, liaison du cycle de vie. |
Niveau page |
|
|
Controller |
Contrôle de la lecture, gestion des états, distribution des événements. |
Niveau page |
|
|
Model |
Encapsulation des données de configuration, modèle Builder. |
Niveau requête |
Interfaces principales
Les interfaces principales à appeler pour chaque instance de lecteur incluent les éléments suivants :
|
Interface |
Description |
|
|
Créez un contrôleur. |
|
|
Construisez un modèle de données. |
|
|
Attachez le contrôleur et les données. |
|
|
Détachez et libérez les ressources. |
|
|
Gérez l'événement du bouton Retour (facultatif). |
Pour obtenir la liste complète des méthodes et des descriptions des paramètres pour chaque composant, consultez la Référence API.
Séquence d'appel
Le flux d'appel complet des interfaces principales couvre l'intégralité du cycle de vie, de la création, de la liaison et de la lecture jusqu'à la libération.
Pour connaître les étapes d'intégration complètes, consultez le guide Démarrage rapide.
Fonctionnalités principales
Système de slots
Le système de slots divise l'interface utilisateur du lecteur en composants indépendants. Chaque slot est responsable d'une fonctionnalité spécifique, telle que la barre de contrôle supérieure, la barre de progression ou la vignette. Combinez ces composants librement. Utilisez l'interface par défaut pour une intégration rapide, remplacez les composants selon vos besoins ou personnalisez entièrement l'interface. Les composants d'interface utilisateur sont complètement découplés du noyau du lecteur. La personnalisation ne nécessite aucune modification du code source et il n'y a aucun risque de conflit de code lors des mises à niveau. Différents scénarios de lecture peuvent réutiliser les mêmes composants de slot, ce qui évite le développement redondant. Pour plus d'informations, consultez le Système de slots.
Système de politiques
Le système de politiques encapsule la logique métier du lecteur dans des composants de politique indépendants. Chaque politique implémente une fonctionnalité spécifique, telle que les statistiques de la première image, la détection des saccades, la protection du trafic ou la reprise de la lecture. Étendez la couche de politique sans modifier le cœur du framework. Chaque politique a une responsabilité unique et isolée. Les politiques peuvent être réutilisées entre les instances de lecteur et activées ou désactivées selon les besoins. Les mises à niveau du framework et les personnalisations métier n'interfèrent pas les unes avec les autres. Pour plus d'informations, consultez le Système de politiques.
Système d'événements
Le système d'événements utilise un modèle de publication-abonnement pour découpler les composants d'AliPlayerKit. Les composants d'interface utilisateur s'abonnent aux événements et envoient des commandes sans détenir de référence au contrôleur. Le contrôleur traite les commandes et publie les états sans connaître ses écouteurs. Cette architecture prend en charge le développement et la maintenance indépendants de l'interface utilisateur et de la logique métier. Elle isole également naturellement la communication entre plusieurs instances de lecteur grâce à des événements portant un playerId. Pour plus d'informations, consultez le Système d'événements.
Politique de cycle de vie du lecteur
La politique de cycle de vie du lecteur gère la création, la réutilisation, le recyclage et la destruction des instances. Elle comprend quatre politiques intégrées : Default, Singleton, ReusePool et IdScopedPool. Ces politiques conviennent respectivement aux scénarios généraux, à un seul lecteur, à la lecture en liste et au préchargement. Sélectionnez simplement une politique pour équilibrer les performances et les ressources. Par exemple, l'utilisation de ReusePool pour les listes de vidéos courtes peut améliorer considérablement la fluidité du défilement et la vitesse d'affichage de la première image. Pour plus d'informations, consultez la Politique de cycle de vie du lecteur.
Système de journalisation
Le système de journalisation fournit un centre de journaux unifié, LogHub. Il prend en charge la sortie et le filtrage multiniveaux, les extensions d'écouteurs et d'autres fonctionnalités. Cela garantit que les nœuds clés pendant l'exécution du lecteur sont entièrement traçables, ce qui facilite le diagnostic des problèmes et l'analyse des performances. Activez des journaux détaillés pour le débogage pendant le développement et rationalisez la sortie dans les environnements de production. Vous pouvez également utiliser des écouteurs pour écrire les journaux dans un fichier ou les signaler à un serveur. Cela permet aux équipes de support technique de résoudre rapidement les problèmes. Pour plus d'informations, consultez le Système de journalisation.
Prise en charge de plusieurs sources vidéo
AliPlayerKit prend en charge plusieurs types de sources vidéo. Nous vous recommandons d'utiliser la méthode VidAuth. Pour plus d'informations, consultez la section Prise en charge de plusieurs sources vidéo.
|
Type de source |
Méthode de création |
Scénarios |
|
Source VidAuth |
|
Méthode recommandée pour Alibaba Cloud VOD (recommandée). |
|
Source VidSts |
|
Utilise des identifiants temporaires d'Alibaba Cloud Security Token Service (STS). |
|
Source URL |
|
Diffusion en direct ou scénarios simples. |