Aller au contenu

API publique

PlayerFacade

Méthode ou flux Usage Notes
attach Associe un HTMLVideoElement au runtime. Reçoit plugins, config, ports et factories de moteurs.
load Charge un PlayerConfig ou une source. Sélection de moteur, sidecars, pistes et état de chargement.
play / pause Contrôle de lecture. Promesses compatibles avec les politiques du navigateur.
seekTo Positionne la lecture. Doit respecter les contraintes live et moteur.
setVolume / setMuted Contrôle audio. Surface stable pour UI.
setAudioTrack / setTextTrack Sélection des pistes. Dépend des capacités du moteur actif.
setPlaybackRate Vitesse de lecture. VOD, cours, podcasts ou révision.
snapshot État instantané. Lecture synchrone pour UI et diagnostics.
state$ / events$ Flux observables. Source des intégrations Angular, de la télémétrie et des plugins.

Runtime direct avec Shaka

import { createDefaultConfig, PlayerFacade } from "@ngxsp/core";
import { createShakaEngineFactory } from "@ngxsp/engine-shaka";

const config = createDefaultConfig({
  source: {
    type: "hls",
    url: "https://example.com/master.m3u8",
    contentId: "movie-42"
  },
  subtitles: { enabled: true, providers: ["local"], preferredLang: "fr" }
});

const facade = new PlayerFacade();
facade.attach(videoEl, [], config, undefined, [createShakaEngineFactory()]);
await facade.load(config);