Interfaccia Audio Player con un titolo di esempio.
Interfaccia Audio Player con un titolo di esempio.
← Tutte le guide native

Xodera Plugins · Bubble Native

Xodera Audio Player Native

Aggiungi un lettore audio chiaro a lezioni, messaggi vocali o record di prodotto. Consenti alle persone di ascoltare, modificare la velocità e continuare dal punto salvato.

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

Documentazione revisionata 6 novembre 2026

Esempi pratici

Note vocali all'interno di una conversazione di supporto

Un semplice collegamento a file allontana gli utenti dalla conversazione e rende difficile rivedere risposte lunghe.

`source_url = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.

Posiziona il lettore nei dettagli del messaggio selezionato. Consenti all'utente Play/Pause, Seek a un punto utile e Set speed. Associa `is_active` alla conversazione aperta.

Usa `is_playing`, `current_time` e `duration` per mostrare il progresso. Conserva l'ID Message nella tua app affinché un evento tardivo non possa aggiornare una conversazione diversa.

Su `player_error`, mostra `error_code` e offri Reload source; conserva il messaggio e non contrassegnarlo mai come ascoltato dopo un errore.

Solo riproduzione. La tua app salva i progressi di ascolto.

Riprendi una lezione di lingua nella posizione salvata

Gli studenti devono riprodurre un passaggio difficile invece di ricominciare l'intera lezione.

`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; l'ultima posizione appartiene a quello studente e lezione nel tuo database.

Dopo `ready` per la lezione corrente, Seek ai secondi salvati e attendi che l'utente Play. Usa Set speed per un ascolto più lento. Salva i progressi con il flusso di lavoro della tua app.

Leggi `current_time` e `duration`. Su `playback_ended`, la tua app può registrare una pietra miliare di ascolto per lo Lesson corrente.

Se la sorgente è cambiata, scarta la vecchia posizione finché quella lezione non è caricata. Non considerare il completamento dell'ascolto come prova che lo studente abbia compreso o superato un test.

Solo riproduzione. La tua app salva i progressi di ascolto.

Rivedi un allegato audio con commenti con timestamp

Editor o formatori devono passare da un commento al momento rilevante in una registrazione.

`source_url = Selected Review’s recording URL`; ogni Commento di proprietà dell'app memorizza il proprio valore di secondi; opzionalmente `waveform_peaks_json` contiene i picchi reali per quella stessa registrazione.

Fai clic su un Commento → Seek ai suoi secondi → Play. Al cambio della sorgente, sostituisci o cancella i picchi e ricollega nuovamente la Recensione selezionata.

Visualizza `current_time` accanto al tuo compositore di commenti. `waveform_available` indica alla tua UI se i picchi forniti sono disponibili.

Limita o rifiuta i timestamp obsoleti rispetto alla durata corrente nella tua app. Quando non esistono picchi reali, mostra il normale controllo di progresso invece di un'analisi audio inventata.

Solo riproduzione. La tua app salva i progressi di ascolto.

Cosa funziona ora

Public beta. Use the documented controls and actions; test supported formats, permissions and device behavior in your own native app. Browser preview does not validate native device output.

Crea il flusso di lavoro

Usa le azioni beta disponibili qui sotto e testa il risultato sui tuoi dispositivi target.

Questi esempi utilizzano record di app come Lesson, Message e Order. Sostituiscili con i tuoi tipi di dati e nomi di elemento. Gli indirizzi multimediali di esempio devono essere sostituiti con i tuoi file.

  1. Aggiungi l'elemento audio. Imposta source_url = Selected Message's audio_url, title = Selected Message's sender_label e subtitle = Selected Message's date_label.

  2. Se disponi di dati reali della forma d'onda per questa registrazione, passali in waveform_peaks_json. Altrimenti lasciala vuota.

  3. Quando si verifica l'evento ready, usa Seek con il numero di secondi salvato se necessario. Consenti all'utente di premere Play. Usa Pause, Seek e Set speed per i pulsanti del lettore.

  4. Mostra current_time e duration. Su playback_ended, salva i progressi di ascolto per il messaggio o la lezione selezionata. Imposta is_active in base a se questa vista è aperta.

Diagramma del flusso di lavoro — non è uno screenshot dell'app

Configura una sola volta

Crea o scegli il tuo progetto app Bubble in BestPlugins → Dashboard → Plugins. Scegli Xodera Audio Player Native, copia la sua chiave, quindi apri Bubble → Plugins → Xodera Audio Player Native e incollala in licensing_api_key. Salva una volta; poi usa le azioni qui sotto. Ogni plugin in ogni progetto ha la propria chiave.

Usa un indirizzo diretto di file audio che l'app può aprire. La riproduzione audio non richiede l'accesso a microfono o fotocamera.

Configura una sola volta
  1. Crea o scegli il tuo progetto app Bubble su BestPlugins → Dashboard → Plugins.
  2. Scegli questo plugin e copia la sua chiave di progetto.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Aggiungi l'elemento, scegli i dati della tua app e costruisci il flusso di lavoro qui sotto.
  5. In the dashboard, review and confirm the 7-day card trial for this plugin. It then costs US$1.50/month per app project, including development and production. Cancel before the trial ends to avoid the first charge.
Installazione e abbonamento

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Salva il risultato nella tua app

Esempio ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Salva quando l'utente mette in pausa o esce dalla lezione, anziché ad ogni aggiornamento dello schermo.

Errore, annullamento e ripristino

Su player_error, mostra error_code e offri Reload source. Conserva il record del messaggio o della lezione. Quando viene selezionata una registrazione diversa, carica la sua posizione salvata. Tornare alla vista non avvia automaticamente la riproduzione.

Capacità e limiti

Velocità di riproduzione: 1, 1.5 e 2. Volume: 0–1. Dati della forma d'onda: valori 2–2048 compresi tra 0 e 1. I formati audio supportati dipendono dal dispositivo. Il lettore non registra, trascrive né salva permanentemente l'audio per l'uso offline. La riproduzione in background e sulla schermata di blocco non è garantita.

Impostazioni, azioni e risultati

Usa questi nomi in Bubble. Le funzionalità pianificate sono contrassegnate separatamente.

Impostazioni beta disponibili

Impostazioni elemento

source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · text

Stati

player_status · textis_playing · yes_nois_loaded · yes_nois_buffering · yes_nocurrent_time · numberduration · numberprogress · numberplayback_rate · numbervolume · numberis_looping · yes_nowaveform_available · yes_nowaveform_status · texterror_code · text

Eventi

readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_error

Azioni e i loro input

PlayPauseToggleStopSeekSet speedSet volumeReload source
Impostazioni elemento · 11
source_urltext · Predefinito: ""
Valore di esempiohttps://bestplugins.online/native-samples/lesson.mp3
Esempio di espressione BubbleSelected Message's audio_url
Indirizzo del file audio, video o immagine selezionato. Usa un tipo di file supportato da questo plugin.
waveform_peaks_jsontext · Predefinito: ""
Valore di esempio[0.1,0.4,0.2,0.7]
Esempio di espressione BubbleSelected Message's waveform_peaks_json
Valori di ampiezza normalizzati reali per questa registrazione; lascia vuoto se non disponibili.
titletext · Predefinito: ""
Valore di esempioLesson 4 — review
Esempio di espressione BubbleSelected Lesson's name
Testo visibile dell'app; vuoto utilizza la copia localizzata integrata dove supportata. Nessuna credenziale.
subtitletext · Predefinito: ""
Valore di esempioTeacher · today
Esempio di espressione BubbleSelected Message's sender_label
Testo visibile dell'app; vuoto utilizza la copia localizzata integrata dove supportata. Nessuna credenziale.
playback_ratenumber · Predefinito: 1
Valore di esempio1.5
Esempio di espressione BubbleCurrent User's listening_speed
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
volumenumber · Predefinito: 1
Valore di esempio0.8
Esempio di espressione BubbleVolume Slider's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
loopyes_no · Predefinito: false
Valore di esempiono
Esempio di espressione BubbleSelected Lesson's repeat_enabled
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
is_activeyes_no · Predefinito: true
Valore di esempioyes
Esempio di espressione BubbleGuideHost's view_is_active (your yes/no custom state)
Imposta sì mentre questa vista è aperta. Imposta no quando esci, così la riproduzione o il lavoro corrente può fermarsi.
disabledyes_no · Predefinito: false
Valore di esempiono
Esempio di espressione BubbleGuideHost's is_busy (your yes/no custom state)
Disabilita l'elemento mentre la tua app è occupata o questa azione non è disponibile.
ui_text_jsontext · Predefinito: ""
Valore di esempio{}
Esempio di espressione BubbleApp Settings' player_labels_json (supported keys only)
JSON opzionale con etichette dei pulsanti supportate. Lascia vuoto per usare il testo integrato.
languagetext · Predefinito: "auto"
Valore di esempiouk
Esempio di espressione BubbleCurrent User's preferred_language
Imposta language=auto per seguire la lingua di un dispositivo o browser supportato. Inserisci un codice lingua supportato per sceglierla esplicitamente.
Azioni e i loro input · 8
Play

Nessun parametro di azione

Pause

Nessun parametro di azione

Toggle

Nessun parametro di azione

Stop

Nessun parametro di azione

Seek
secondsnumber · Predefinito: —
Valore di esempio12
Esempio di espressione BubbleSelected Comment's seconds
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Set speed
ratenumber · Predefinito: —
Valore di esempio1.5
Esempio di espressione BubbleSpeed Dropdown's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Set volume
volumenumber · Predefinito: —
Valore di esempio0.8
Esempio di espressione BubbleVolume Slider's value
Usa il valore del record aziendale corrente; convalidalo rispetto ai limiti riportati di seguito.
Reload source

Nessun parametro di azione

Stati ed eventi

Stati

player_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

is_playing · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

is_loaded · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

is_buffering · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

current_time · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

duration · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

progress · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

playback_rate · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

volume · number

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

is_looping · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

waveform_available · yes_no

Valore corrente per l'elemento selezionato. Leggilo dopo l'evento correlato.

waveform_status · text

Risultato corrente di questa azione. Usa l'evento di completamento corrispondente prima di salvare il successo.

error_code · text

Informazioni di errore per l'ultima azione. Mostra un messaggio utile e offri il tentativo di nuovo pertinente.

Eventi

ready

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

playback_started

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

playback_paused

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

playback_ended

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

seek_completed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

rate_changed

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

player_error

Quando si verifica questo evento, leggi gli stati correlati dallo stesso elemento.

Domande che gli sviluppatori pongono

Crea la forma d'onda?

No. Fornisci picchi normalizzati reali per quella sorgente; il progresso ordinario funziona senza di essi.

Come funziona l'abbonamento?

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Guide correlate

Per assistenza, indicaci quale plugin e dispositivo utilizzi, l'azione che hai provato e cosa è accaduto. Usa un esempio senza dati personali. Non condividere mai la tua chiave o file privati.