
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Wys lesse, produkdemonstrasies en ondersteunde regstreekse stroom binne jou app, met afspeelkontroles, volskerm en beskikbare taalkolomme.
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.
Dokumentasie hersien 6 November 2026
Praktiese voorbeelde
Hoofstukskakels in 'n opleidingsapp
'n Leerder moet een stap van 'n demonstrasie herhaal sonder om na 'n eksterne speler te navigeer.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; elke hoofstuk stoor 'n app-eienaars begin‑tyd.
Hoofstukkliek → as die bron verander, wag vir `source_loaded` → Seek tot `position_seconds` → Play. Gebruik Set playback rate vir 'n gedetailleerde demonstrasie en Enter fullscreen wanneer versoek.
Lees `position_seconds`, `duration_seconds` en `is_fullscreen`; jou werkstroom stoor lesvoortgang slegs vir die huidige bron.
Op `player_error`, wys `error_code`, bewaar voortgang en bied Reload video aan. 'n Voltooiingsgebeurtenis is nie bewys dat 'n les of veiligheidsassessering geslaag is nie.
Gebruik direkte videolêers of ondersteunde strome. Hierdie speler voer nie video's uit nie.
Video-demonstrasies op markplek-lys
'n Produkbeeld alleen kan nie verduidelik hoe 'n item werk nie, maar 'n video buite die werf onderbreek die aankoopvloei.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` vir 'n doelbewus stille eerste voorskou.
Open die gekose lys → bind sy video → Play na 'n gebruikersaksie. Bied Set muted vir klank en Enter fullscreen vir nader inspeksie aan. Bind `is_active` aan die sigbare detail.
Gebruik `has_source`, `is_buffering` en `status` om 'n afwesige video, laai en gereed media te onderskei.
By bronvervanging, stop die toepassing van ou voortgang en spoorkeuses. Wys 'n duimnael-weergawe wanneer die gekose lêer nie ondersteun word nie.
Gebruik direkte videolêers of ondersteunde strome. Hierdie speler voer nie video's uit nie.
Kies beskikbare taalspore in 'n ondersteunde stroom
'n Meertalige app moet die spore aanbied wat 'n spesifieke bron werklik bevat.
`source_url = Selected Programme’s accepted stream URL`; die bron self moet versoenbare audio-/ondertitelspore verskaf.
Op `tracks_changed`, lees die huidige `audio_tracks_json` en `subtitle_tracks_json`; bou keuses in jou app en roep Select audio track of Select subtitle track aan met die huidige indeks.
Gebruik `selected_audio_index`, `selected_subtitle_index` en `source_generation` om die keuse met hierdie bron te assosieer.
Bou die keuses weer op na elke bronverandering. As ’n spoor afwesig of nie-ondersteun word, behou die verstekspoor en wys die beskikbaarheid eerlik.
Gebruik direkte videolêers of ondersteunde strome. Hierdie speler voer nie video's uit nie.
Wat nou werk
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.
Bou die werkvloei
Gebruik die beskikbare beta-aksies hieronder en toets die resultaat op jou teiken-toestelle.
Hierdie voorbeelde gebruik app-rekords soos Lesson, Message en Order. Vervang dit met jou eie datatipes en elementname. Voorbeeldmedia-adresse moet met jou eie lêers vervang word.
St stel source_url = Selected Lesson's video_url en poster_url = Selected Lesson's poster_url. Gebruik auto of progressive vir 'n MP4; gebruik hls vir 'n HLS stroom.
Na playback_ready, gebruik Seek om voort te gaan by die gestoorde position_seconds. Die gebruiker begin Play. Stel is_active in op of die lesaansig oop is.
Voeg Play, Pause, Seek, Set playback rate en Enter fullscreen kontroles by. Vertoon position_seconds en duration_seconds.
Na tracks_changed, wys die beskikbare audio_tracks_json- en subtitle_tracks_json-keuses vir hierdie video. Stuur die gekose indeks na Select audio track of Select subtitle track. Op die gebeurtenis ended, stoor voortgang.
Stel een keer op
Skep of kies jou Bubble-appprojek in BestPlugins → Dashboard → Plugins. Kies Xodera Video Player Native, kopieer die sleutel, open dan Bubble → Plugins → Xodera Video Player Native en plak dit in licensing_api_key. Stoor een keer; gebruik dan die aksies hieronder. Elke inprop in elke projek het sy eie sleutel.
Gebruik 'n direkte video- of stroomadres. 'n YouTube of Vimeo-webbladadres is nie 'n direkte videolêer nie. Afspeel benodig geen kamera- of mikrofoon-toegang nie.
Stel een keer op
- Skep of kies jou Bubble-appprojek by BestPlugins → Dashboard → Plugins.
- Kies hierdie inprop en kopieer die projek-sleutel.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Voeg die element by, kies jou app-data en bou die werkstroom hieronder.
- 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.
Installasie en intekening
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.
Stoor die resultaat in jou app
Voorbeeld WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Stoor slegs vir die tans gekose video. Spoorindekse behoort aan daardie video en moet nie as permanente taalkeuses gestoor word nie.
Mislukking, kanselleer en herstel
Op player_error, wys error_code en bied Reload video aan. Dit herlaai sonder om afspeel te begin. Die keuse van 'n ander bron maak die ou spoorkeuses skoon. Om die aansig te verlaat, pauzeer die video; die gebruiker druk Play om voort te gaan.
Vermoeëns en beperkings
Spoed: 0.5, 1, 1.5 en 2. Volume: 0–1. Formate: auto, progressive, HLS en Android‑enkel DASH. Beskikbare spore hang af van die lêer. Gebruik -1 om 'n spoor af te skakel; -2 beteken onbekend en kan nie gekies word nie. Geen redigering, video-uitvoer, DRM, prent‑in‑prent of permanente aflynkas nie.
Instellings, aksies en resultate
Gebruik hierdie name in Bubble. Beplande funksies word afsonderlik gemerk.
Beskikbare beta-instellings
Elementinstellings
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textToestande
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 · textGebeurtenisse
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorAksies en hul insette
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackElementinstellings · 12
source_urltext · Verstek: ""- Voorbeeldwaarde
https://bestplugins.online/native-samples/lesson.mp4 - Voorbeeld Bubble-uitdrukking
Selected Lesson's video_url - Adres van die gekose audio-, video- of beeldlêer. Gebruik ’n lêertipe wat hierdie inprop ondersteun.
poster_urltext · Verstek: ""- Voorbeeldwaarde
https://bestplugins.online/native-samples/poster.jpg - Voorbeeld Bubble-uitdrukking
Selected Lesson's poster_url - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
content_typetext · Verstek: "auto"- Voorbeeldwaarde
auto - Voorbeeld Bubble-uitdrukking
Selected Lesson's video_content_type - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
ratenumber · Verstek: 1- Voorbeeldwaarde
1.5 - Voorbeeld Bubble-uitdrukking
Speed Dropdown's value - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
volumenumber · Verstek: 1- Voorbeeldwaarde
0.8 - Voorbeeld Bubble-uitdrukking
Volume Slider's value - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
mutedyes/no · Verstek: false- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
Mute Checkbox is checked - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
loopyes/no · Verstek: false- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
Selected Lesson's repeat_enabled - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
is_activeyes/no · Verstek: true- Voorbeeldwaarde
yes - Voorbeeld Bubble-uitdrukking
GuideHost's view_is_active (your yes/no custom state) - Stel ja wanneer hierdie aansig oop is. Stel nee wanneer dit verlaat word, sodat terugspeel of huidige werk kan stop.
disabledyes/no · Verstek: false- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
GuideHost's is_busy (your yes/no custom state) - Deaktiveer die element terwyl jou app besig is of hierdie aksie nie beskikbaar is nie.
native_controlsyes/no · Verstek: false- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
App Settings' use_native_video_controls - Wys of verberg die toestel se standaard video‑kontroles.
ui_text_jsontext · Verstek: "{}"- Voorbeeldwaarde
{} - Voorbeeld Bubble-uitdrukking
App Settings' player_labels_json (supported keys only) - Opsioneel JSON met ondersteunde knoppie-etikette. Laat leeg om die ingeboude teks te gebruik.
languagetext · Verstek: "auto"- Voorbeeldwaarde
uk - Voorbeeld Bubble-uitdrukking
Current User's preferred_language - Stel language=auto in om ’n ondersteunde toestel of blaaier se taal te volg. Voer ’n ondersteunde taalkode in om dit eksplisiet te kies.
Aksies en hul insette · 11
Play
Geen aksie‑parameters nie
Pause
Geen aksie‑parameters nie
Stop and rewind
Geen aksie‑parameters nie
Reload video
Geen aksie‑parameters nie
Seek
position_secondsnumber · Verstek: —- Voorbeeldwaarde
45 - Voorbeeld Bubble-uitdrukking
Selected Chapter's start_seconds - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Set volume
volumenumber · Verstek: —- Voorbeeldwaarde
0.8 - Voorbeeld Bubble-uitdrukking
Volume Slider's value - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Set muted
mutedyes/no · Verstek: —- Voorbeeldwaarde
no - Voorbeeld Bubble-uitdrukking
Mute Checkbox is checked - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Set playback rate
ratenumber · Verstek: —- Voorbeeldwaarde
1.5 - Voorbeeld Bubble-uitdrukking
Speed Dropdown's value - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Enter fullscreen
Geen aksie‑parameters nie
Select audio track
indexnumber · Verstek: —- Voorbeeldwaarde
0 - Voorbeeld Bubble-uitdrukking
Selected row's current_source_index - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Select subtitle track
indexnumber · Verstek: —- Voorbeeldwaarde
0 - Voorbeeld Bubble-uitdrukking
Selected row's current_source_index - Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
Toestande en gebeurtenisse
Toestande
is_playing · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
is_buffering · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
pending_play · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
is_live · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
muted · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
loop · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
has_source · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
is_fullscreen · yes/noHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
position_seconds · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
duration_seconds · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
volume · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
rate · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
source_generation · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
selected_audio_index · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
selected_subtitle_index · numberHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
status · textHuidige resultaat van hierdie aksie. Gebruik die ooreenstemmende voltooiingsgebeurtenis voordat sukses gestoor word. idle,loading,readyToPlay,error
audio_tracks_json · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
subtitle_tracks_json · textHuidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.
error_code · textFoutinligting vir die laaste aksie. Wys 'n nuttige boodskap en bied die toepaslike herprobe aan.
error_message · textFoutinligting vir die laaste aksie. Wys 'n nuttige boodskap en bied die toepaslike herprobe aan.
Gebeurtenisse
source_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
source_loadedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
playback_readyWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
playing_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
time_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
endedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
tracks_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
fullscreen_changedWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
player_errorWanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.
Vrae wat ontwikkelaars vra
Kan ek die gekose segment uitvoer?
Nee. Seek en volskerm verander die afspeel, nie video‑grepe nie.
Hoe werk die intekening?
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.
Verwante gidse
Vir hulp, vertel ons watter plugin en toestel jy gebruik, die aksie wat jy probeer het en wat gebeur het. Gebruik ’n voorbeeld sonder persoonlike data. Deel nooit jou sleutel of private lêers nie.