Video Player Interface mat engem Beispillframe vum Sintel Trailer.
Video Player Interface mat engem Beispillframe vum Sintel Trailer.
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
← All native Guide

Xodera Plugins · Bubble Native

Xodera Video Player Native

Weist Léierstoff, Produktdemonstratiounen an ënnerstëtzte Live-Streams bannent Är App, mat Playback-Kontrollen, Vollbild an disponiblen Sproochspuer.

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.

Dokumentatioun iwwerkuckt 6 November 2026

Praktesch Beispiller

Kapitel-Links an enger Trainingsapp

E Lerner muss een Schrëtt vun enger Demonstratioun nach eng Kéier ofspillen, ouni op en externe Player ze navigéieren.

`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; all Kapitel späichert eng App-eigene Startzäit.

Kapitel-Klick → wann d'Quell ännert, waart op `source_loaded` → Seek bis `position_seconds` → Play. Benotzt Set playback rate fir eng detailléiert Demonstratioun an Enter fullscreen wann gefrot.

Liest `position_seconds`, `duration_seconds` an `is_fullscreen`; Ären Workflow späichert de Léierfortschrëtt nëmmen fir d'aktuell Quell.

Bei `player_error`, weist `error_code`, erhalen de Fortschrëtt an bidd Reload video un. En Ofschloss-Event ass kee Beweis datt eng Léier oder Sécherheetsbewäertung bestanen ass.

Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.

Video-Demonstratiounen op Maartplaz-Listungen

En Produktbild aleen kann net erklären wéi e Produit funktionéiert, mee e Video ausserhalb vun der Säit ënnerbriecht de Kaafprozess.

`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` fir eng bewosst lautlos éischt Virschau.

Öffnet d'ausgewielte Listing → bindt säi Video → Play no enger Benotzeraktioun. Bitt Set muted fir den Toun an Enter fullscreen fir eng méi detailléiert Iwwerpréiwung un. Bind `is_active` un d'siichtbar Detail.

Benotzt `has_source`, `is_buffering` an `status` fir en fehltende Video, d'Luedung an bereet Medien ze ënnerscheeden.

Bei Quell-Ersetzen, stoppt d'Applikatioun vum alen Fortschrëtt an de Spuer-Selektiounen. Weist e Miniaturbild als Ersatz wann d'ausgewielte Datei net ënnerstëtzt gëtt.

Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.

Wielt verfügbar Sproochsporen an engem ënnerstëtzten Stream

Eng méi-sproocheg App muss d'Tracks ubidden, déi eng bestëmmte Quell tatsächlech enthält.

`source_url = Selected Programme’s accepted stream URL`; d'Quell selwer muss kompatibel Audio-/Ënnertitelsporen ubidden.

Op `tracks_changed`, lies de aktuelle `audio_tracks_json` an `subtitle_tracks_json`; erstelle Wieler an deiner App a ruff Select audio track oder Select subtitle track mat dem aktuelle Index op.

Benotz `selected_audio_index`, `selected_subtitle_index` an `source_generation` fir d'Wiel mat dëser Quell ze verbonnen.

Erstellt d'Wiel nei no all Quellännerung. Falls e Track feelt oder net ënnerstëtzt gëtt, halen den Standardtrack a weist d'Verfügbarkeit éierlech un.

Benotzt direkt Video-Fichieren oder ënnerstëtzt Streams. Dëse Player exportéiert keng Videoen.

Wat elo funktionéiert

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.

Den Workflow bauen

Benotzt déi verfügbar Beta-Aktiounen hei drënner a test d'Resultat op Äre Zielgeräter.

Dës Beispiller benotzen App-Recourcen wéi Lesson, Message an Order. Ersetzt se mat Äre eegenen Datentypen an Elementnimm. Beispill-Media-Adressë musse mat Äre eegenen Fichieren ersat ginn.

  1. Setze source_url = Selected Lesson's video_url an poster_url = Selected Lesson's poster_url. Benotzt auto oder progressive fir e MP4; benotzt hls fir e HLS Stream.

  2. No nom playback_ready, benotzt Seek fir bei gespäichertem position_seconds weiderzefänken. De Benotzer start Play. Setzt is_active op ob d'Léieransicht oppe ass.

  3. Füügt Play, Pause, Seek, Set playback rate an Enter fullscreen Kontrollen derbäi. Affichert position_seconds an duration_seconds.

  4. No nom tracks_changed, weist déi verfügbare audio_tracks_json- an subtitle_tracks_json-Optiounen fir dëse Video un. Gitt den ausgewielten Index un Select audio track oder Select subtitle track. Beim Event ended, späichert de Fortschrëtt.

Workflow-Diagramm — net en App-Screenshot

Eenmal konfiguréieren

Erstellt oder wielt Äre Bubble App-Projet an BestPlugins → Dashboard → Plugins. Wielt Xodera Video Player Native, kopéiert säi Schlëssel, dann opmaachen Bubble → Plugins → Xodera Video Player Native an füügt en an licensing_api_key. Eenmol späicheren; dann d'Aktiounen hei drënner benotzen. All Plugin an all Projet huet säi eegene Schlëssel.

Benotzt eng direkt Video- oder Stream-Adress. Eng YouTube oder Vimeo-Websäit-Adress ass keng direkt Video-Datei. Playback brauch kee Kamera- oder Mikrofonzougang.

Eenmal konfiguréieren
  1. Erstellt oder wielt Äre Bubble App-Projet bei BestPlugins → Dashboard → Plugins.
  2. Wielt dësen Plugin aus an kopéiert säi Projet-Schlëssel.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Füügt d'Element derbäi, wielt Är App-Daten an baut de Workflow hei drënner op.
  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.
Installatioun an 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.

Späichert d'Resultat an Ärer App

Beispill WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Späichert nëmmen fir dat aktuell ausgewielte Video. Track-Indexe gehéieren zu deem Video a sollen net als permanent Sproochwielen gespäichert ginn.

Feeler, annuléieren an Erhuelung

Op player_error, weist error_code an bidd Reload video un. Et lued nei ouni Playback ze starten. D'Auswiel vun enger anerer Quell läscht déi al Track-Optiounen. Beim Verloossen vun der Vue gëtt de Video pauséiert; de Benotzer dréckt Play fir weiderzemaachen.

Fäegkeeten an Limiten

Geschwindegkeeten: 0.5, 1, 1.5 an 2. Lautstärke: 0–1. Formaten: auto, progressive, HLS an Android‑nëmmen DASH. Disponibel Tracks hänken vum File of. Benotzt -1 fir e Track auszeschalten; -2 bedeit onbekannt a kann net ausgewielt ginn. Kee Editéieren, Video-Export, DRM, Bild-an-Bild oder permanent Offline-Cache.

Astellungen, Aktiounen an Resultater

Benotzt dës Nimm an Bubble. Geplang Features sinn separat markéiert.

Verfügbare Beta-Astellungen

Element-Astellungen

source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · text

Zoustänn

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 · text

Evenementer

source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_error

Aktiounen an hir Inputen

PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle track
Element-Astellungen · 12
source_urltext · Standard: ""
Beispillwäerthttps://bestplugins.online/native-samples/lesson.mp4
Beispiel Bubble AusdrockSelected Lesson's video_url
Adress vun der ausgewielten Audio-, Video- oder Bilddatei. Benotzt e Dateityp, deen dëse Plugin ënnerstëtzt.
poster_urltext · Standard: ""
Beispillwäerthttps://bestplugins.online/native-samples/poster.jpg
Beispiel Bubble AusdrockSelected Lesson's poster_url
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
content_typetext · Standard: "auto"
Beispillwäertauto
Beispiel Bubble AusdrockSelected Lesson's video_content_type
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
ratenumber · Standard: 1
Beispillwäert1.5
Beispiel Bubble AusdrockSpeed Dropdown's value
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
volumenumber · Standard: 1
Beispillwäert0.8
Beispiel Bubble AusdrockVolume Slider's value
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
mutedyes/no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockMute Checkbox is checked
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
loopyes/no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockSelected Lesson's repeat_enabled
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
is_activeyes/no · Standard: true
Beispillwäertyes
Beispiel Bubble AusdrockGuideHost's view_is_active (your yes/no custom state)
Setzt Ja, soulaang dës Vue op ass. Setzt Nee beim Verloossen, sou datt d'Playback oder d'aktuell Aarbecht gestoppt ka ginn.
disabledyes/no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockGuideHost's is_busy (your yes/no custom state)
Desaktivéiert d'Element, wann Är App beschäftegt ass oder dës Aktioun net verfügbar ass.
native_controlsyes/no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockApp Settings' use_native_video_controls
Weis oder verstoppe d'Standard-Video-Controls vum Gerät.
ui_text_jsontext · Standard: "{}"
Beispillwäert{}
Beispiel Bubble AusdrockApp Settings' player_labels_json (supported keys only)
Optional JSON mat ënnerstëtzten Knäppchenbeschrëftungen. Loosst eidel fir den integrierten Text ze benotzen.
languagetext · Standard: "auto"
Beispillwäertuk
Beispiel Bubble AusdrockCurrent User's preferred_language
Setzt language=auto fir eng ënnerstëtzt Apparat oder Browser-Sprooch ze verfollegen. Gitt e ënnerstëtzte Sproochcode an fir se explizit auszewielen.
Aktiounen an hir Inputen · 11
Play

Keng Aktiounsparameter

Pause

Keng Aktiounsparameter

Stop and rewind

Keng Aktiounsparameter

Reload video

Keng Aktiounsparameter

Seek
position_secondsnumber · Standard: —
Beispillwäert45
Beispiel Bubble AusdrockSelected Chapter's start_seconds
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set volume
volumenumber · Standard: —
Beispillwäert0.8
Beispiel Bubble AusdrockVolume Slider's value
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set muted
mutedyes/no · Standard: —
Beispillwäertno
Beispiel Bubble AusdrockMute Checkbox is checked
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Set playback rate
ratenumber · Standard: —
Beispillwäert1.5
Beispiel Bubble AusdrockSpeed Dropdown's value
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Enter fullscreen

Keng Aktiounsparameter

Select audio track
indexnumber · Standard: —
Beispillwäert0
Beispiel Bubble AusdrockSelected row's current_source_index
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Select subtitle track
indexnumber · Standard: —
Beispillwäert0
Beispiel Bubble AusdrockSelected row's current_source_index
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
Zoustänn an Evenementer

Zoustänn

is_playing · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

is_buffering · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

pending_play · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

is_live · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

muted · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

loop · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

has_source · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

is_fullscreen · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

position_seconds · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

duration_seconds · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

volume · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

rate · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

source_generation · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

selected_audio_index · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

selected_subtitle_index · number

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

status · text

Aktuell Resultat vun dëser Aktioun. Benotz d'passend Ofschloss-Event ier d'Erfolleg gespäichert gëtt. idle,loading,readyToPlay,error

audio_tracks_json · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

subtitle_tracks_json · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

error_code · text

Feelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.

error_message · text

Feelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.

Evenementer

source_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

source_loaded

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

playback_ready

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

playing_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

time_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

ended

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

tracks_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

fullscreen_changed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

player_error

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

Froen déi Entwéckler stellen

Kann ech de ausgewielten Segment exportéieren?

Nee. Seek an Vollbild änneren d'Playback, net d'Video-Bytes.

Wéi funktionéiert d'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.

Zesummehangend Guides

Fir Hëllef, sot eis, wéi en Plugin a Gerät Dir benotzt, d'Aktioun déi Dir probéiert hutt an wat geschitt ass. Benotzt e Beispill ouni perséinlech Daten. Deelt ni Ären Schlëssel oder privat Fichieren.