Audio Player-gränssnitt med en exempelrubrik.
Audio Player-gränssnitt med en exempelrubrik.
← Alla inbyggda guider

Xodera Plugins · Bubble Native

Xodera Audio Player Native

Lägg till en tydlig ljudspelare i lektioner, röstmeddelanden eller produktposter. Låt användare lyssna, ändra hastighet och fortsätta från sin sparade plats.

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.

Dokumentation granskad 6 november 2026

Praktiska exempel

Röstanteckningar i ett support-samtal

En enkel fillänk skickar användare bort från konversationen och gör långa svar svåra att granska.

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

Placera spelaren i detaljen för det valda meddelandet. Låt användaren Play/Pause, Seek till en användbar punkt och Set speed. Binda `is_active` till den öppna konversationen.

Använd `is_playing`, `current_time` och `duration` för att visa framsteg. Behåll Message‑ID:t i din app så att en sen händelse inte kan uppdatera en annan konversation.

Vid `player_error`, visa `error_code` och erbjud Reload source; bevara meddelandet och märk det aldrig som lyssnat efter ett fel.

Endast uppspelning. Din app sparar lyssningsframsteg.

Återuppta en språkleksjon vid den sparade positionen

Elever behöver spela upp ett svårt avsnitt igen istället för att starta om hela lektionen.

`source_url = Current Lesson’s audio URL`; `title = Current Lesson’s name`; den sista positionen tillhör den eleven och lektionen i din databas.

Efter `ready` för den aktuella lektionen, Seek till de sparade sekunderna och vänta på att användaren Play. Använd Set speed för långsammare lyssning. Spara framsteg med ditt eget app‑flöde.

Läs `current_time` och `duration`. Vid `playback_ended` kan din app registrera en lyssningsmilstolpe för den aktuella Lesson.

Om källan har ändrats, kassera den gamla positionen tills lektionen är inläst. Behandla inte lyssningsslut som bevis på att eleven har förstått eller klarat ett test.

Endast uppspelning. Din app sparar lyssningsframsteg.

Granska en ljudbilaga med tidsstämplade kommentarer

Redaktörer eller tränare behöver hoppa från en kommentar till rätt ögonblick i en inspelning.

`source_url = Selected Review’s recording URL`; varje app‑ägda kommentar lagrar sitt eget sekundvärde; valfri `waveform_peaks_json` innehåller verkliga toppar för samma inspelning.

Klicka på en kommentar → Seek till dess sekunder → Play. Vid källbyte, ersätt eller rensa topparna och bind den valda granskningen igen.

Visa `current_time` bredvid din kommentarskompositör. `waveform_available` talar om för ditt UI om faktiska levererade toppar är tillgängliga.

Klämma eller avvisa föråldrade tidsstämplar mot den aktuella varaktigheten i din app. När inga verkliga toppar finns, visa den vanliga förloppskontrollen istället för påhittad ljudanalys.

Endast uppspelning. Din app sparar lyssningsframsteg.

Vad som fungerar nu

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.

Bygg arbetsflödet

Använd de tillgängliga betahandlingarna nedan och testa resultatet på dina mål enheter.

Dessa exempel använder app‑poster såsom Lesson, Message och Order. Ersätt dem med dina egna datatyper och elementnamn. Exempel på mediadresser måste ersättas med dina egna filer.

  1. Lägg till ljudelementet. Ställ in source_url = Selected Message's audio_url, title = Selected Message's sender_label och subtitle = Selected Message's date_label.

  2. Om du har verklig vågformsdata för denna inspelning, skicka den i waveform_peaks_json. Lämna annars fältet tomt.

  3. När ready-händelsen inträffar, använd Seek med det sparade antalet sekunder om det behövs. Låt användaren trycka på Play. Använd Pause, Seek och Set speed för spelarens knappar.

  4. Visa current_time och duration. På playback_ended, spara lyssningsframsteg för det valda meddelandet eller lektionen. Ställ in is_active till om denna vy är öppen.

Arbetsflödesdiagram — inte en appskärmbild

Konfigurera en gång

Skapa eller välj ditt Bubble‑appprojekt i BestPlugins → Dashboard → Plugins. Välj Xodera Audio Player Native, kopiera dess nyckel, öppna sedan Bubble → Plugins → Xodera Audio Player Native och klistra in den i licensing_api_key. Spara en gång; använd sedan handlingarna nedan. Varje plugin i varje projekt har sin egen nyckel.

Använd en direkt ljudfiladress som appen kan öppna. Uppspelning av ljud kräver ingen åtkomst till mikrofon eller kamera.

Konfigurera en gång
  1. Skapa eller välj ditt Bubble‑appprojekt på BestPlugins → Dashboard → Plugins.
  2. Välj detta plugin och kopiera dess projektnyckel.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Lägg till elementet, välj dina appdata och bygg arbetsflödet nedan.
  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.
Installation och prenumeration

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.

Spara resultatet i din app

Exempel ListeningProgress: owner = Current User, lesson = Selected Lesson, seconds = Audio Player's current_time, duration = Audio Player's duration. Spara när användaren pausar eller lämnar lektionen, snarare än vid varje skärmuppdatering.

Fel, avbryt och återställning

På player_error, visa error_code och erbjud Reload source. Behåll meddelandet eller lektionens post. När en annan inspelning väljs, läs in dess egna sparade position. Återgång till vyn startar inte uppspelning automatiskt.

Kapaciteter och begränsningar

Uppspelningshastigheter: 1, 1.5 och 2. Volym: 0–1. vågformsdata: 2–2048 värden mellan 0 och 1. Stödda ljudformat beror på enheten. Spelaren spelar inte in, transkriberar eller sparar ljud permanent för offline-användning. Bakgrunds- och låsskärmsuppspelning garanteras inte.

Inställningar, åtgärder och resultat

Använd dessa namn i Bubble. Planerade funktioner markeras separat.

Tillgängliga beta-inställningar

Elementinställningar

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

Tillstånd

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

Händelser

readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_error

Åtgärder och deras indata

PlayPauseToggleStopSeekSet speedSet volumeReload source
Elementinställningar · 11
source_urltext · Standard: ""
Exempelvärdehttps://bestplugins.online/native-samples/lesson.mp3
Exempel Bubble uttryckSelected Message's audio_url
Adress till den valda ljud-, video- eller bildfilen. Använd en filtyp som detta plugin stödjer.
waveform_peaks_jsontext · Standard: ""
Exempelvärde[0.1,0.4,0.2,0.7]
Exempel Bubble uttryckSelected Message's waveform_peaks_json
Verkliga normaliserade amplitudvärden för denna inspelning; lämna tomt om ej tillgängligt.
titletext · Standard: ""
ExempelvärdeLesson 4 — review
Exempel Bubble uttryckSelected Lesson's name
Synlig apptext; tomt använder inbyggd lokaliserad kopia där det stöds. Inga autentiseringsuppgifter.
subtitletext · Standard: ""
ExempelvärdeTeacher · today
Exempel Bubble uttryckSelected Message's sender_label
Synlig apptext; tomt använder inbyggd lokaliserad kopia där det stöds. Inga autentiseringsuppgifter.
playback_ratenumber · Standard: 1
Exempelvärde1.5
Exempel Bubble uttryckCurrent User's listening_speed
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
volumenumber · Standard: 1
Exempelvärde0.8
Exempel Bubble uttryckVolume Slider's value
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
loopyes_no · Standard: false
Exempelvärdeno
Exempel Bubble uttryckSelected Lesson's repeat_enabled
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
is_activeyes_no · Standard: true
Exempelvärdeyes
Exempel Bubble uttryckGuideHost's view_is_active (your yes/no custom state)
Sätt ja medan denna vy är öppen. Sätt nej vid lämning, så uppspelning eller pågående arbete kan stoppas.
disabledyes_no · Standard: false
Exempelvärdeno
Exempel Bubble uttryckGuideHost's is_busy (your yes/no custom state)
Inaktivera elementet medan din app är upptagen eller åtgärden är otillgänglig.
ui_text_jsontext · Standard: ""
Exempelvärde{}
Exempel Bubble uttryckApp Settings' player_labels_json (supported keys only)
Valfri JSON med stöd för knappetiketter. Lämna tomt för att använda den inbyggda texten.
languagetext · Standard: "auto"
Exempelvärdeuk
Exempel Bubble uttryckCurrent User's preferred_language
Ställ in language=auto för att följa en stödjande enhet eller webbläsarspråk. Ange en stödjande språkkod för att välja den explicit.
Åtgärder och deras indata · 8
Play

Inga åtgärdsparametrar

Pause

Inga åtgärdsparametrar

Toggle

Inga åtgärdsparametrar

Stop

Inga åtgärdsparametrar

Seek
secondsnumber · Standard: —
Exempelvärde12
Exempel Bubble uttryckSelected Comment's seconds
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Set speed
ratenumber · Standard: —
Exempelvärde1.5
Exempel Bubble uttryckSpeed Dropdown's value
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Set volume
volumenumber · Standard: —
Exempelvärde0.8
Exempel Bubble uttryckVolume Slider's value
Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Reload source

Inga åtgärdsparametrar

Tillstånd och händelser

Tillstånd

player_status · text

Aktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång.

is_playing · yes_no

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

is_loaded · yes_no

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

is_buffering · yes_no

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

current_time · number

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

duration · number

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

progress · number

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

playback_rate · number

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

volume · number

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

is_looping · yes_no

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

waveform_available · yes_no

Aktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.

waveform_status · text

Aktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång.

error_code · text

Felinformation för den senaste åtgärden. Visa ett hjälpsamt meddelande och erbjud relevant återförsök.

Händelser

ready

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

playback_started

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

playback_paused

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

playback_ended

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

seek_completed

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

rate_changed

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

player_error

När denna händelse inträffar, läs de relaterade tillstånden från samma element.

Frågor som utvecklare ställer

Skapar den vågformen?

Nej. Tillhandahåll verkliga normaliserade toppar för den källan; vanlig framsteg fungerar utan dem.

Hur fungerar prenumerationen?

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.

Relaterade guider

För hjälp, berätta vilken plugin och enhet du använder, vilken åtgärd du försökte och vad som hände. Använd ett exempel utan personuppgifter. Dela aldrig din nyckel eller privata filer.