Personalizzazione del player

Lexora offre due modalità per incorporare e personalizzare il player audio:

  • Embed via markup (<lexora data-speech="...">) applica automaticamente le impostazioni configurate all’interno di Lexora, inclusi colori, etichette e controlli abilitati.
  • Integrazione via JavaScript (new Lexora(target, { ... })) ti consente di controllare in tempo reale stile, etichette, icone, comportamento del mini player flottante, opzioni di riproduzione e modalità automatica.

Metodi di integrazione

Inizia installando la libreria Lexora sul tuo sito web. Una volta completata l’installazione, puoi integrare il player audio utilizzando uno dei seguenti approcci:

1) Embed via markup

Questo è il metodo di integrazione più semplice. Il player si inizializza automaticamente e applica le impostazioni già configurate nel tuo progetto Lexora.

<lexora data-speech="[YOUR_SPEECH_ID]"></lexora>

Usa questo metodo quando vuoi mantenere stile e comportamento coerenti su più pagine senza scrivere JavaScript personalizzato.

2) Inizializzazione via JavaScript

Usa JavaScript quando hai bisogno di un controllo più avanzato sul rendering, sugli aggiornamenti a runtime o su comportamenti specifici della pagina.

const target = document.querySelector('#lexora-target');

new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]'
});

Lexora unisce la configurazione che passi via JavaScript con le impostazioni predefinite del player, quindi devi specificare solo le opzioni che vuoi sovrascrivere.

Opzioni JavaScript supportate

Opzioni principali

OpzioneTipoDescrizione
speechstringaChiave speech (ID audio).
stickyplayerbooleanoAbilita o disabilita il mini player fisso.
playspeedbooleanoAbilita o disabilita i controlli della velocità di riproduzione.
glassbooleanoAbilita o disabilita l’effetto glass.
jumpSecondsnumeroDefinisce i secondi di salto per i controlli di skip. Il valore predefinito è 10.
seekStepnumeroAlias legacy di jumpSeconds.
playbackJumpbooleanoFlag legacy mantenuto per compatibilità con le versioni precedenti.
new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  stickyplayer: true,
  playspeed: true,
  glass: true,
  jumpSeconds: 10
});

Personalizzazione dello stile

L’oggetto style controlla il tema visivo del player. Questi valori vengono applicati internamente come variabili CSS.

Chiavi di stile supportate

ChiaveDescrizione
primaryColore accent principale.
backgroundColore di sfondo base del player.
foregroundColore base di testo e icone del player.
widget-backgroundSovrascrittura esplicita dello sfondo del widget.
widget-foregroundSovrascrittura esplicita del colore di testo e icone del widget.
widget-btn-backgroundSfondo dei pulsanti principali di play e stop.
widget-btn-foregroundColore delle icone principali di play e stop.
seek-backgroundColore della traccia della barra di avanzamento.
seek-fillColore della parte compilata della barra di avanzamento.
seek-thumbColore del cursore della barra di avanzamento.
visualizerColore del visualizzatore audio.
new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  style: {
    primary: '#7CD259',
    background: '#0C120D',
    foreground: '#FFFFFF',
    'widget-background': '#0C120D',
    'widget-foreground': '#FFFFFF',
    'widget-btn-background': '#7CD259',
    'widget-btn-foreground': '#0C120D',
    'seek-background': '#FFFFFF',
    'seek-fill': '#7CD259',
    'seek-thumb': '#FFFFFF',
    visualizer: '#7CD259'
  }
});

Se imposti solo primary, background e foreground, Lexora ricaverà automaticamente gli altri colori dell’interfaccia usando le regole di fallback predefinite.

Per garantire l’accessibilità, mantieni sempre un buon contrasto tra sfondo e primo piano.

Personalizzazione delle etichette

L’oggetto labels ti permette di sovrascrivere i testi del player. È utile per localizzazione, tono del prodotto o adattamenti specifici dell’interfaccia.

L’etichetta loading viene utilizzata negli stati di caricamento standard. L’etichetta generating viene utilizzata in modalità automatica mentre l’audio viene generato progressivamente. Le etichette jumpForward e jumpBack vengono usate automaticamente su iOS e Safari, dove i controlli della velocità di riproduzione vengono sostituiti da controlli di salto.

Chiavi etichetta supportate

ChiaveDescrizione
playEtichetta dell’azione principale di riproduzione.
stopInterrompe completamente la riproduzione.
resumeRiprende la riproduzione dopo una pausa.
pauseMette in pausa la riproduzione in corso.
speedEtichetta dei controlli della velocità di riproduzione.
closeChiude interfacce o modali collegati al player.
initMessaggio iniziale mostrato prima dell’avvio della riproduzione.
loadingMessaggio di caricamento standard.
generatingMessaggio mostrato durante la generazione in modalità automatica.
jumpBackEtichetta del controllo di salto indietro usato automaticamente su iOS e Safari.
jumpForwardEtichetta del controllo di salto in avanti usato automaticamente su iOS e Safari.
new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  labels: {
    play: 'Play',
    stop: 'Stop',
    resume: 'Resume',
    pause: 'Pause',
    speed: 'Playback speed',
    close: 'Close',
    init: 'Press play to listen',
    loading: 'Loading speech...',
    generating: 'Generating speech...',
    jumpBack: 'Skip backward',
    jumpForward: 'Skip forward'
  }
});

Personalizzazione delle icone

Puoi sostituire i controlli predefiniti passando stringhe SVG inline tramite l’oggetto icons.

Consigliato: usa fill="currentColor" o stroke="currentColor" in modo che le icone ereditino correttamente i colori del tema.

Chiavi icona supportate

ChiaveDescrizione
playIcona principale di riproduzione.
pauseIcona pausa.
stopIcona stop.
closeIcona chiudi.
minimizeIcona di minimizzazione del player sticky.
waveIcona dell’indicatore audio/voce.
autoscrollIcona dell’indicatore di scorrimento automatico.
jumpBackIcona salto indietro.
jumpForwardIcona salto in avanti.
new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  icons: {
    play: '<svg>...</svg>',
    pause: '<svg>...</svg>',
    stop: '<svg>...</svg>'
  }
});

Comportamento del mini player sticky

Quando stickyplayer è abilitato, Lexora mostra un mini player compatto quando il player principale esce dalla viewport.

  • Compare solo mentre la riproduzione è attiva o in pausa.
  • Si nasconde automaticamente quando la riproduzione termina o viene interrotta.
  • Eredita la stessa configurazione visiva del player principale.
new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  stickyplayer: true
});

Velocità di riproduzione

Quando abilitato, il controllo della velocità scorre ciclicamente tra 1x, 1.5x e 2x.

Su iOS e Safari, i controlli della velocità di riproduzione non sono disponibili. In questi casi, Lexora sostituisce automaticamente il controllo della velocità con i comandi di salto indietro e salto in avanti.

new Lexora(target, {
  speech: '[YOUR_SPEECH_ID]',
  playspeed: true,
  jumpSeconds: 15
});

Opzioni della modalità automatica

La modalità automatica consente a Lexora di estrarre testo leggibile direttamente dalla pagina e generare l’audio su richiesta.

Opzioni supportate per la modalità automatica

OpzioneTipoDescrizione
modestringaImposta auto per abilitare la modalità automatica.
contentTargetstringaSelettore CSS del contenitore dei contenuti da leggere.
scriptstringaTesto esplicito da leggere, in alternativa all’estrazione automatica dalla pagina.
languagestringaCodice lingua usato per selezionare la voce in modalità automatica.
voicestringaNome della voce, ad esempio Aria.
new Lexora(target, {
  mode: 'auto',
  contentTarget: '.article-body',
  language: 'en-US',
  voice: 'Aria',
  stickyplayer: true,
  style: {
    primary: '#7CD259',
    background: '#0C120D',
    foreground: '#FFFFFF'
  }
});

In modalità automatica, le opzioni passate via JavaScript hanno priorità sulle impostazioni predefinite del progetto.