Aller au contenu

PlayerFacade

PlayerFacade relie l'élément média, les moteurs, les ports et les plugins. Sa configuration doit être explicite pour que les erreurs runtime soient auditables.

Attacher le runtime

facade.attach(videoEl, plugins, config, ports, [createShakaEngineFactory()]);
await facade.load(config);
Paramètre Défaut Explication À éviter
videoEl Aucun HTMLVideoElement piloté par la façade. Appeler load avant attach.
plugins [] Plugins initialisés avec PlayerContext. Croire qu'un package installé agit sans être passé à attach.
config Aucun Configuration initiale et source de vérité au démarrage. Muter silencieusement sans rappeler load.
ports.http fetch global Config distante et fournisseurs externes. Activer la config distante sans port HTTP fonctionnel.
ports.storage Mémoire Progression locale, cache de config distante, plugins. Attendre une persistance navigateur avec le port mémoire.
ports.telemetry noop Événements QoE, erreurs et mesures. Envoyer des secrets média ou licence dans les logs.
engines Moteur natif + moteurs fournis Sélection du moteur selon source et capacités. Retirer la solution de repli native pour les fichiers simples.

Cycle de chargement

  1. Appliquer remoteConfig si active.
  2. Normaliser playlist ou séries.
  3. Fusionner DRM et profile sur la source active.
  4. Sélectionner le moteur compatible.
  5. Charger le média.
  6. Publier état, événements, métadonnées, pistes et diagnostics.