
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Vis leksjoner, produktdemonstrasjoner og støttede direktestrømmer i appen din, med avspillingskontroller, fullskjerm og tilgjengelige språkspor.
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.
Dokumentasjon gjennomgått 6 november 2026
Praktiske eksempler
Kapittel‑lenker i en opplæringsapp
En elev må kunne spille av ett steg av en demonstrasjon uten å navigere til en ekstern spiller.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; hvert kapittel lagrer en app-eid starttid.
Kapittelklikk → hvis du bytter kilde, vent på `source_loaded` → Seek til `position_seconds` → Play. Bruk Set playback rate for en detaljert demonstrasjon og Enter fullscreen når det blir bedt om.
Les `position_seconds`, `duration_seconds` og `is_fullscreen`; arbeidsflyten din lagrer leksjonsfremdrift kun for den nåværende kilden.
Ved `player_error`, vis `error_code`, bevar fremdriften og tilby Reload video. En fullføringshendelse er ikke bevis på at en leksjon eller sikkerhetsvurdering er bestått.
Bruk direkte videofiler eller støttede strømmer. Denne spilleren eksporterer ikke videoer.
Videodemonstrasjoner på markedsplassoppføringer
Et produktbilde alene kan ikke forklare hvordan et element fungerer, men en ekstern video forstyrrer kjøpsflyten.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` for en bevisst stille første forhåndsvisning.
Åpne den valgte oppføringen → bind videoen → Play etter en brukerhandling. Tilby Set muted for lyd og Enter fullscreen for nærmere inspeksjon. Bind `is_active` til den synlige detaljen.
Bruk `has_source`, `is_buffering` og `status` for å skille mellom fraværende video, lasting og klar media.
Ved kildeutskifting, slutt å bruke gammel fremdrift og spor valg. Vis en miniatyrfallback når den valgte filen ikke støttes.
Bruk direkte videofiler eller støttede strømmer. Denne spilleren eksporterer ikke videoer.
Velg tilgjengelige språkspor i en støttet strøm
En flerspråklig app må tilby sporene som en bestemt kilde faktisk inneholder.
`source_url = Selected Programme’s accepted stream URL`; kilden må selv levere kompatible lyd-/undertekstspor.
På `tracks_changed`, les den nåværende `audio_tracks_json` og `subtitle_tracks_json`; bygg valg i appen din og kall Select audio track eller Select subtitle track med den nåværende indeksen.
Bruk `selected_audio_index`, `selected_subtitle_index` og `source_generation` for å knytte valget til denne kilden.
Bygg opp valgene på nytt etter hver kildeendring. Hvis et spor mangler eller ikke støttes, behold standardsporet og vis tilgjengeligheten ærlig.
Bruk direkte videofiler eller støttede strømmer. Denne spilleren eksporterer ikke videoer.
Hva fungerer nå
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 arbeidsflyten
Bruk de tilgjengelige beta‑handlingene nedenfor og test resultatet på dine mål‑enheter.
Disse eksemplene bruker app‑poster som Lesson, Message og Order. Erstatt dem med dine egne datatyper og elementnavn. Eksempel‑medieadresser må erstattes med dine egne filer.
Angi source_url = Selected Lesson's video_url og poster_url = Selected Lesson's poster_url. Bruk auto eller progressive for en MP4; bruk hls for en HLS‑strøm.
Etter playback_ready, bruk Seek for å gjenoppta på lagret position_seconds. Brukeren starter Play. Angi is_active til om leksjonsvisningen er åpen.
Legg til Play, Pause, Seek, Set playback rate og Enter fullscreen‑kontroller. Vis position_seconds og duration_seconds.
Etter tracks_changed, vis de tilgjengelige audio_tracks_json‑ og subtitle_tracks_json‑valgene for denne videoen. Send den valgte indeksen til Select audio track eller Select subtitle track. Ved hendelsen ended, lagre fremdriften.
Konfigurer én gang
Opprett eller velg ditt Bubble‑app‑prosjekt i BestPlugins → Dashboard → Plugins. Velg Xodera Video Player Native, kopier nøkkelen, åpne deretter Bubble → Plugins → Xodera Video Player Native og lim den inn i licensing_api_key. Lagre én gang; bruk deretter handlingene nedenfor. Hver plugin i hvert prosjekt har sin egen nøkkel.
Bruk en direkte video‑ eller strømmeadresse. En YouTube‑ eller Vimeo‑nettsideadresse er ikke en direkte videofil. Avspilling krever ingen kamera‑ eller mikrofon‑tilgang.
Konfigurer én gang
- Opprett eller velg ditt Bubble‑app‑prosjekt på BestPlugins → Dashboard → Plugins.
- Velg denne plugin‑en og kopier prosjekt‑nøkkelen.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Legg til elementet, velg app‑dataene dine og bygg arbeidsflyten nedenfor.
- 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.
Installasjon og abonnement
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.
Lagre resultatet i appen din
Eksempel WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Lagre kun for den nåværende valgte videoen. Spor‑indekser tilhører den videoen og bør ikke lagres som permanente språkvalg.
Feil, avbryt og gjenoppretting
På player_error, vis error_code og tilby Reload video. Den lastes inn på nytt uten å starte avspilling. Å velge en annen kilde fjerner de gamle sporvalgene. Å forlate visningen pauser videoen; brukeren trykker på Play for å fortsette.
Funksjoner og begrensninger
Hastigheter: 0.5, 1, 1.5 og 2. Volum: 0–1. Formater: auto, progressive, HLS og kun Android‑DASH. Tilgjengelige spor avhenger av filen. Bruk -1 for å slå av et spor; -2 betyr ukjent og kan ikke velges. Ingen redigering, videoeksport, DRM, bilde‑i‑bilde eller permanent offline‑buffer.
Innstillinger, handlinger og resultater
Bruk disse navnene i Bubble. Planlagte funksjoner er merket separat.
Tilgjengelige beta‑innstillinger
Elementinnstillinger
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textTilstander
is_playing · yes/nois_buffering · yes/nopending_play · yes/nois_live · yes/nomuted · yes/noloop · yes/nohas_source · yes/nois_fullscreen · yes/noposition_seconds · numberduration_seconds · numbervolume · numberrate · numbersource_generation · numberselected_audio_index · numberselected_subtitle_index · numberstatus · textaudio_tracks_json · textsubtitle_tracks_json · texterror_code · texterror_message · textHendelser
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorHandlinger og deres innganger
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackElementinnstillinger · 12
source_urltext · Standard: ""- Eksempelverdi
https://bestplugins.online/native-samples/lesson.mp4 - Eksempel Bubble uttrykk
Selected Lesson's video_url - Adresse til den valgte lyd-, video- eller bildefilen. Bruk en filtype som dette plugin‑programmet støtter.
poster_urltext · Standard: ""- Eksempelverdi
https://bestplugins.online/native-samples/poster.jpg - Eksempel Bubble uttrykk
Selected Lesson's poster_url - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
content_typetext · Standard: "auto"- Eksempelverdi
auto - Eksempel Bubble uttrykk
Selected Lesson's video_content_type - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
ratenumber · Standard: 1- Eksempelverdi
1.5 - Eksempel Bubble uttrykk
Speed Dropdown's value - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
volumenumber · Standard: 1- Eksempelverdi
0.8 - Eksempel Bubble uttrykk
Volume Slider's value - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
mutedyes/no · Standard: false- Eksempelverdi
no - Eksempel Bubble uttrykk
Mute Checkbox is checked - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
loopyes/no · Standard: false- Eksempelverdi
no - Eksempel Bubble uttrykk
Selected Lesson's repeat_enabled - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
is_activeyes/no · Standard: true- Eksempelverdi
yes - Eksempel Bubble uttrykk
GuideHost's view_is_active (your yes/no custom state) - Sett ja mens denne visningen er åpen. Sett nei ved avslutning, slik at avspilling eller pågående arbeid kan stoppes.
disabledyes/no · Standard: false- Eksempelverdi
no - Eksempel Bubble uttrykk
GuideHost's is_busy (your yes/no custom state) - Deaktiver elementet mens appen din er opptatt eller handlingen er utilgjengelig.
native_controlsyes/no · Standard: false- Eksempelverdi
no - Eksempel Bubble uttrykk
App Settings' use_native_video_controls - Vis eller skjul enhetens standard videokontroller.
ui_text_jsontext · Standard: "{}"- Eksempelverdi
{} - Eksempel Bubble uttrykk
App Settings' player_labels_json (supported keys only) - Valgfri JSON med støttede knappetiketter. La stå tomt for å bruke den innebygde teksten.
languagetext · Standard: "auto"- Eksempelverdi
uk - Eksempel Bubble uttrykk
Current User's preferred_language - Sett language=auto til å følge en støttet enhet eller nettleserspråk. Skriv inn en støttet språkkode for å velge den eksplisitt.
Handlinger og deres innganger · 11
Play
Ingen handlingsparametere
Pause
Ingen handlingsparametere
Stop and rewind
Ingen handlingsparametere
Reload video
Ingen handlingsparametere
Seek
position_secondsnumber · Standard: —- Eksempelverdi
45 - Eksempel Bubble uttrykk
Selected Chapter's start_seconds - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Set volume
volumenumber · Standard: —- Eksempelverdi
0.8 - Eksempel Bubble uttrykk
Volume Slider's value - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Set muted
mutedyes/no · Standard: —- Eksempelverdi
no - Eksempel Bubble uttrykk
Mute Checkbox is checked - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Set playback rate
ratenumber · Standard: —- Eksempelverdi
1.5 - Eksempel Bubble uttrykk
Speed Dropdown's value - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Enter fullscreen
Ingen handlingsparametere
Select audio track
indexnumber · Standard: —- Eksempelverdi
0 - Eksempel Bubble uttrykk
Selected row's current_source_index - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Select subtitle track
indexnumber · Standard: —- Eksempelverdi
0 - Eksempel Bubble uttrykk
Selected row's current_source_index - Bruk den nåværende forretningspostens verdi; valider den mot grensene nedenfor.
Tilstander og hendelser
Tilstander
is_playing · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
is_buffering · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
pending_play · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
is_live · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
muted · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
loop · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
has_source · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
is_fullscreen · yes/noNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
position_seconds · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
duration_seconds · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
volume · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
rate · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
source_generation · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
selected_audio_index · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
selected_subtitle_index · numberNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
status · textNåværende resultat av denne handlingen. Bruk den tilsvarende fullføringshendelsen før du lagrer suksess. idle,loading,readyToPlay,error
audio_tracks_json · textNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
subtitle_tracks_json · textNåværende verdi for det valgte elementet. Les den etter den relaterte hendelsen.
error_code · textFeilinformasjon for den siste handlingen. Vis en hjelpsom melding og tilby relevant gjenforsøk.
error_message · textFeilinformasjon for den siste handlingen. Vis en hjelpsom melding og tilby relevant gjenforsøk.
Hendelser
source_changedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
source_loadedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
playback_readyNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
playing_changedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
time_changedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
endedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
tracks_changedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
fullscreen_changedNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
player_errorNår denne hendelsen oppstår, les de relaterte tilstandene fra samme element.
Spørsmål utviklere stiller
Kan jeg eksportere det valgte segmentet?
Nei. Seek og fullskjerm endrer avspilling, ikke videobyter.
Hvordan fungerer abonnementet?
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.
Relaterte veiledninger
For hjelp, fortell oss hvilken plugin og enhet du bruker, handlingen du prøvde og hva som skjedde. Bruk et eksempel uten personlige data. Del aldri nøkkelen din eller private filer.