Interfață Audio Player cu un titlu exemplu.
Interfață Audio Player cu un titlu exemplu.
← Toate ghidurile native

Xodera Plugins · Bubble Native

Xodera Audio Player Native

Adăugați un player audio clar la lecții, mesaje vocale sau înregistrări de produse. Permiteți utilizatorilor să asculte, să schimbe viteza și să continue de la poziția salvată.

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.

Documentație revizuită 6 noiembrie 2026

Exemple practice

Note vocale într-o conversație de suport

Un link simplu de fișier trimite utilizatorii în afara conversației și face ca răspunsurile lungi să fie greu de revizuit.

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

Plasați playerul în detaliul mesajului selectat. Lăsați utilizatorul Play/Pause, Seek la un punct util și Set speed. Asociați `is_active` cu conversația deschisă.

Utilizați `is_playing`, `current_time` și `duration` pentru a afișa progresul. Păstrați ID-ul Message în aplicație astfel încât un eveniment întârziat să nu poată actualiza o altă conversație.

La `player_error`, afișați `error_code` și oferiți Reload source; păstrați mesajul și nu îl marcați niciodată ca ascultat după o eroare.

Doar redare. Aplicația dvs. salvează progresul de ascultare.

Reluați o lecție de limbă de la poziția salvată

Învățăceii trebuie să redea un pasaj dificil în loc să repornească întreaga lecție.

`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; ultima poziție aparține acelui învățăcel și lecției din baza dvs. de date.

După `ready` pentru lecția curentă, Seek la secundele salvate și așteptați ca utilizatorul să Play. Utilizați Set speed pentru ascultare mai lentă. Salvați progresul cu fluxul de lucru al aplicației dvs.

Citiți `current_time` și `duration`. La `playback_ended`, aplicația dvs. poate înregistra o etapă de ascultare pentru Lesson curent.

Dacă sursa s-a schimbat, renunțați la poziția veche până când lecția este încărcată. Nu tratați finalizarea ascultării ca dovadă că învățăcelul a înțeles sau a trecut un test.

Doar redare. Aplicația dvs. salvează progresul de ascultare.

Revizuiți un atașament audio cu comentarii marcate temporal

Editorii sau formatorii trebuie să sară de la un comentariu la momentul relevant din înregistrare.

`source_url = Selected Review’s recording URL`; fiecare Comentariu deținut de aplicație stochează propria valoare în secunde; `waveform_peaks_json` opțional conține vârfuri reale pentru aceeași înregistrare.

Faceți clic pe un Comentariu → Seek la secundele sale → Play. La schimbarea sursei, înlocuiți sau ștergeți vârfurile și reasociați Recenzia selectată.

Afișați `current_time` lângă editorul de comentarii. `waveform_available` informează interfața dacă vârfurile furnizate sunt disponibile.

Blochează sau respinge marcajele de timp învechite față de durata curentă din aplicație. Când nu există vârfuri reale, afișează controlul obișnuit de progres în loc de analiza audio inventată.

Doar redare. Aplicația dvs. salvează progresul de ascultare.

Ce funcționează acum

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.

Construiește fluxul de lucru

Utilizați acțiunile beta disponibile mai jos și testați rezultatul pe dispozitivele țintă.

Aceste exemple folosesc înregistrări de aplicație precum Lesson, Message și Order. Înlocuiți-le cu propriile tipuri de date și nume de elemente. Adresele media de exemplu trebuie înlocuite cu fișierele dumneavoastră.

  1. Adăugați elementul audio. Configurați source_url = Selected Message's audio_url, title = Selected Message's sender_label și subtitle = Selected Message's date_label.

  2. Dacă aveți date reale de formă de undă pentru această înregistrare, transmiteți-le în waveform_peaks_json. În caz contrar, lăsați gol.

  3. Când apare evenimentul ready, utilizați Seek cu numărul de secunde salvat, dacă este necesar. Permiteți utilizatorului să apese Play. Utilizați Pause, Seek și Set speed pentru butoanele playerului.

  4. Afișați current_time și duration. La playback_ended, salvați progresul de ascultare pentru mesajul sau lecția selectată. Configurați is_active pentru a indica dacă această vizualizare este deschisă.

Diagramă de flux de lucru — nu o captură de ecran a aplicației

Configurează o singură dată

Creați sau alegeți proiectul de aplicație Bubble în BestPlugins → Dashboard → Plugins. Alegeți Xodera Audio Player Native, copiați cheia acestuia, apoi deschideți Bubble → Plugins → Xodera Audio Player Native și inserați-o în licensing_api_key. Salvați o singură dată; apoi utilizați acțiunile de mai jos. Fiecare plugin din fiecare proiect are propria cheie.

Utilizați o adresă directă a fișierului audio pe care aplicația o poate deschide. Redarea audio nu necesită acces la microfon sau cameră.

Configurează o singură dată
  1. Creați sau alegeți proiectul de aplicație Bubble la BestPlugins → Dashboard → Plugins.
  2. Selectați acest plugin și copiați cheia proiectului.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Adăugați elementul, alegeți datele aplicației și construiți fluxul de lucru de mai jos.
  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.
Instalare și abonament

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.

Salvează rezultatul în aplicația ta

Exemplu ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Salvați când utilizatorul pune în pauză sau părăsește lecția, în loc de la fiecare actualizare a ecranului.

Eșec, anulare și recuperare

Pe player_error, afișați error_code și oferiți Reload source. Păstrați înregistrarea mesajului sau a lecției. Când este selectată o altă înregistrare, încărcați poziția salvată a acesteia. Revenirea la vizualizare nu pornește redarea automat.

Capacități și limite

Viteze de redare: 1, 1.5 și 2. Volum: 0–1. Date de formă de undă: valori 2–2048 între 0 și 1. Formatele audio suportate depind de dispozitiv. Playerul nu înregistrează, transcrie sau salvează permanent audio pentru utilizare offline. Redarea în fundal și pe ecranul de blocare nu sunt garantate.

Setări, acțiuni și rezultate

Utilizați aceste nume în Bubble. Funcționalitățile planificate sunt marcate separat.

Setări beta disponibile

Setări element

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

Stări

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

Evenimente

readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_error

Acțiuni și intrările lor

PlayPauseToggleStopSeekSet speedSet volumeReload source
Setări element · 11
source_urltext · Implicit: ""
Valoare exempluhttps://bestplugins.online/native-samples/lesson.mp3
Exemplu Bubble expresieSelected Message's audio_url
Adresa fișierului audio, video sau imagine selectat. Folosește un tip de fișier acceptat de acest plugin.
waveform_peaks_jsontext · Implicit: ""
Valoare exemplu[0.1,0.4,0.2,0.7]
Exemplu Bubble expresieSelected Message's waveform_peaks_json
Valori reale normalizate ale amplitudinii pentru această înregistrare; lasă gol dacă nu sunt disponibile.
titletext · Implicit: ""
Valoare exempluLesson 4 — review
Exemplu Bubble expresieSelected Lesson's name
Text vizibil al aplicației; lăsat gol se folosește copia localizată încorporată acolo unde este suportată. Fără acreditări.
subtitletext · Implicit: ""
Valoare exempluTeacher · today
Exemplu Bubble expresieSelected Message's sender_label
Text vizibil al aplicației; lăsat gol se folosește copia localizată încorporată acolo unde este suportată. Fără acreditări.
playback_ratenumber · Implicit: 1
Valoare exemplu1.5
Exemplu Bubble expresieCurrent User's listening_speed
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
volumenumber · Implicit: 1
Valoare exemplu0.8
Exemplu Bubble expresieVolume Slider's value
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
loopyes_no · Implicit: false
Valoare exempluno
Exemplu Bubble expresieSelected Lesson's repeat_enabled
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
is_activeyes_no · Implicit: true
Valoare exempluyes
Exemplu Bubble expresieGuideHost's view_is_active (your yes/no custom state)
Setați da în timp ce această vizualizare este deschisă. Setați nu la părăsire, pentru ca redarea sau lucrarea curentă să se oprească.
disabledyes_no · Implicit: false
Valoare exempluno
Exemplu Bubble expresieGuideHost's is_busy (your yes/no custom state)
Dezactivați elementul în timp ce aplicația este ocupată sau această acțiune nu este disponibilă.
ui_text_jsontext · Implicit: ""
Valoare exemplu{}
Exemplu Bubble expresieApp Settings' player_labels_json (supported keys only)
JSON opțional cu etichete de buton acceptate. Lăsați gol pentru a utiliza textul încorporat.
languagetext · Implicit: "auto"
Valoare exempluuk
Exemplu Bubble expresieCurrent User's preferred_language
Setați language=auto să urmeze limba unui dispozitiv sau a unui browser acceptat. Introduceți un cod de limbă acceptat pentru a o selecta explicit.
Acțiuni și intrările lor · 8
Play

Niciun parametru de acțiune

Pause

Niciun parametru de acțiune

Toggle

Niciun parametru de acțiune

Stop

Niciun parametru de acțiune

Seek
secondsnumber · Implicit: —
Valoare exemplu12
Exemplu Bubble expresieSelected Comment's seconds
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
Set speed
ratenumber · Implicit: —
Valoare exemplu1.5
Exemplu Bubble expresieSpeed Dropdown's value
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
Set volume
volumenumber · Implicit: —
Valoare exemplu0.8
Exemplu Bubble expresieVolume Slider's value
Folosește valoarea înregistrării de afaceri curente; valideaz-o în raport cu limitele de mai jos.
Reload source

Niciun parametru de acțiune

Stări și evenimente

Stări

player_status · text

Rezultatul curent al acestei acțiuni. Utilizați evenimentul de finalizare corespunzător înainte de a salva cu succes.

is_playing · yes_no

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

is_loaded · yes_no

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

is_buffering · yes_no

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

current_time · number

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

duration · number

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

progress · number

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

playback_rate · number

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

volume · number

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

is_looping · yes_no

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

waveform_available · yes_no

Valoarea curentă pentru elementul selectat. Citiți‑o după evenimentul asociat.

waveform_status · text

Rezultatul curent al acestei acțiuni. Utilizați evenimentul de finalizare corespunzător înainte de a salva cu succes.

error_code · text

Informații despre eroarea ultimei acțiuni. Afișați un mesaj util și oferiți o reîncercare relevantă.

Evenimente

ready

Când apare acest eveniment, citiți stările aferente din același element.

playback_started

Când apare acest eveniment, citiți stările aferente din același element.

playback_paused

Când apare acest eveniment, citiți stările aferente din același element.

playback_ended

Când apare acest eveniment, citiți stările aferente din același element.

seek_completed

Când apare acest eveniment, citiți stările aferente din același element.

rate_changed

Când apare acest eveniment, citiți stările aferente din același element.

player_error

Când apare acest eveniment, citiți stările aferente din același element.

Întrebări pe care le pun dezvoltatorii

Creează forma de undă?

Nu. Furnizați vârfuri normalizate reale pentru acea sursă; progresul obișnuit funcționează fără ele.

Cum funcționează abonamentul?

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.

Ghiduri conexe

Pentru ajutor, spuneți-ne ce plugin și dispozitiv utilizați, acțiunea pe care ați încercat-o și ce s-a întâmplat. Folosiți un exemplu fără date personale. Nu divulgați niciodată cheia sau fișierele private.