
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
Xodera Plugins · Bubble Native
Xodera Video Player Native
Vis lektioner, produktdemonstrationer og understøttede livestreams i din app, med afspilningskontroller, fuldskærm og tilgængelige sprogspor.
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 gennemgået 6 november 2026
Praktiske eksempler
Kapitel‑links i en træningsapp
En elev skal kunne afspille et trin af en demonstration igen uden at navigere til en ekstern afspiller.
`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; hvert kapitel gemmer en app‑ejet starttid.
Kapitel‑klik → hvis kilden skiftes, vent på `source_loaded` → Seek til `position_seconds` → Play. Brug Set playback rate til en detaljeret demonstration og Enter fullscreen på anmodning.
Læs `position_seconds`, `duration_seconds` og `is_fullscreen`; din arbejdsgang gemmer lektionens fremdrift kun for den aktuelle kilde.
Ved `player_error`, vis `error_code`, bevar fremdrift og tilbyd Reload video. En afslutnings‑hændelse er ikke bevis på, at en lektion eller sikkerhedsvurdering er bestået.
Brug direkte videofiler eller understøttede streams. Denne afspiller eksporterer ikke videoer.
Videodemonstrationer på markedsplads‑opslag
Et produktbillede alene kan ikke forklare, hvordan en vare fungerer, men en ekstern video afbryder købsflowet.
`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` til en bevidst tavs første forhåndsvisning.
Åbn den valgte opslag → bind dens video → Play efter en brugerhandling. Tilbyd Set muted for lyd og Enter fullscreen for nærmere inspektion. Bind `is_active` til den synlige detalje.
Brug `has_source`, `is_buffering` og `status` til at skelne mellem fraværende video, indlæsning og klar medie.
Ved kildeudskiftning, stop med at anvende gammel fremdrift og sporskift. Vis en miniature‑fallback, når den valgte fil ikke understøttes.
Brug direkte videofiler eller understøttede streams. Denne afspiller eksporterer ikke videoer.
Vælg tilgængelige sprogspor i en understøttet stream
En flersproget app skal tilbyde de spor, som en given kilde faktisk indeholder.
`source_url = Selected Programme’s accepted stream URL`; kilden selv skal levere kompatible lyd-/undertekstspor.
På `tracks_changed` læs den aktuelle `audio_tracks_json` og `subtitle_tracks_json`; opbyg valg i din app og kald Select audio track eller Select subtitle track med den aktuelle indeks.
Brug `selected_audio_index`, `selected_subtitle_index` og `source_generation` til at knytte valget til denne kilde.
Genopbyg valgene efter hver kildeændring. Hvis et spor mangler eller ikke understøttes, behold standardsporet og vis tilgængeligheden ærligt.
Brug direkte videofiler eller understøttede streams. Denne afspiller eksporterer ikke videoer.
Hvad der virker 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.
Byg arbejdsprocessen
Brug de tilgængelige beta-handlinger nedenfor og test resultatet på dine målrettede enheder.
Denne eksempler bruger app‑poster såsom Lesson, Message og Order. Erstat dem med dine egne datatyper og elementnavne. Eksempelmedie‑adresser skal erstattes med dine egne filer.
Indstil source_url = Selected Lesson's video_url og poster_url = Selected Lesson's poster_url. Brug auto eller progressive til en MP4; brug hls til en HLS‑stream.
Efter playback_ready, brug Seek til at genoptage på gemt position_seconds. Brugeren starter Play. Indstil is_active til om lektionens visning er åben.
Tilføj Play, Pause, Seek, Set playback rate og Enter fullscreen‑kontroller. Vis position_seconds og duration_seconds.
Efter tracks_changed, vis de tilgængelige audio_tracks_json‑ og subtitle_tracks_json‑valg for denne video. Send den valgte indeks til Select audio track eller Select subtitle track. Ved hændelsen ended, gem fremdrift.
Konfigurer én gang
Opret eller vælg dit Bubble app‑projekt i BestPlugins → Dashboard → Plugins. Vælg Xodera Video Player Native, kopier dens nøgle, åbn derefter Bubble → Plugins → Xodera Video Player Native og indsæt den i licensing_api_key. Gem én gang; brug derefter handlingerne nedenfor. Hvert plugin i hvert projekt har sin egen nøgle.
Brug en direkte video‑ eller stream‑adresse. En YouTube‑ eller Vimeo‑webadresse er ikke en direkte videofil. Afspilning kræver ingen kamera‑ eller mikrofonadgang.
Konfigurer én gang
- Opret eller vælg dit Bubble app-projekt på BestPlugins → Dashboard → Plugins.
- Vælg dette plugin og kopier dets projekt-nøgle.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Tilføj elementet, vælg dine app-data og opbyg arbejdsflowet 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.
Installation 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.
Gem resultatet i din app
Eksempel WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Gem kun for den aktuelt valgte video. Spor‑indekser tilhører den video og bør ikke gemmes som permanente sprogvalg.
Fejl, annullering og genoprettelse
På player_error vis error_code og tilbyd Reload video. Den genindlæses uden at starte afspilning. Valg af en anden kilde rydder de gamle sporvalg. Når visningen forlades, pauses videoen; brugeren trykker på Play for at fortsætte.
Kapaciteter og begrænsninger
Hastigheder: 0.5, 1, 1.5 og 2. Lydstyrke: 0–1. Formater: auto, progressive, HLS og kun Android‑DASH. Tilgængelige spor afhænger af filen. Brug -1 for at slå et spor fra; -2 betyder ukendt og kan ikke vælges. Ingen redigering, video‑eksport, DRM, billed‑i‑billed eller permanent offline‑cache.
Indstillinger, handlinger og resultater
Brug disse navne i Bubble. Planlagte funktioner er markeret separat.
Tilgængelige beta‑indstillinger
Elementindstillinger
source_url · textposter_url · textcontent_type · textrate · numbervolume · numbermuted · yes/noloop · yes/nois_active · yes/nodisabled · yes/nonative_controls · yes/noui_text_json · textlanguage · textTilstande
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 · textBegivenheder
source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_errorHandlinger og deres input
PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle trackElementindstillinger · 12
source_urltext · Standard: ""- Eksempelværdi
https://bestplugins.online/native-samples/lesson.mp4 - Eksempel Bubble udtryk
Selected Lesson's video_url - Adresse på den valgte lyd-, video- eller billedfil. Brug en filtype, som dette plugin understøtter.
poster_urltext · Standard: ""- Eksempelværdi
https://bestplugins.online/native-samples/poster.jpg - Eksempel Bubble udtryk
Selected Lesson's poster_url - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
content_typetext · Standard: "auto"- Eksempelværdi
auto - Eksempel Bubble udtryk
Selected Lesson's video_content_type - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
ratenumber · Standard: 1- Eksempelværdi
1.5 - Eksempel Bubble udtryk
Speed Dropdown's value - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
volumenumber · Standard: 1- Eksempelværdi
0.8 - Eksempel Bubble udtryk
Volume Slider's value - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
mutedyes/no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
Mute Checkbox is checked - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
loopyes/no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
Selected Lesson's repeat_enabled - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
is_activeyes/no · Standard: true- Eksempelværdi
yes - Eksempel Bubble udtryk
GuideHost's view_is_active (your yes/no custom state) - Sæt ja, mens denne visning er åben. Sæt nej ved afslutning, så afspilning eller aktuelt arbejde kan stoppe.
disabledyes/no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
GuideHost's is_busy (your yes/no custom state) - Deaktivér elementet, mens din app er optaget eller handlingen er utilgængelig.
native_controlsyes/no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
App Settings' use_native_video_controls - Vis eller skjul enhedens standard videokontroller.
ui_text_jsontext · Standard: "{}"- Eksempelværdi
{} - Eksempel Bubble udtryk
App Settings' player_labels_json (supported keys only) - Valgfri JSON med understøttede knapetiketter. Lad stå tomt for at bruge den indbyggede tekst.
languagetext · Standard: "auto"- Eksempelværdi
uk - Eksempel Bubble udtryk
Current User's preferred_language - Sæt language=auto til at følge en understøttet enhed eller browsersprog. Indtast en understøttet sprogkode for at vælge den eksplicit.
Handlinger og deres input · 11
Play
Ingen handlingsparametre
Pause
Ingen handlingsparametre
Stop and rewind
Ingen handlingsparametre
Reload video
Ingen handlingsparametre
Seek
position_secondsnumber · Standard: —- Eksempelværdi
45 - Eksempel Bubble udtryk
Selected Chapter's start_seconds - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Set volume
volumenumber · Standard: —- Eksempelværdi
0.8 - Eksempel Bubble udtryk
Volume Slider's value - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Set muted
mutedyes/no · Standard: —- Eksempelværdi
no - Eksempel Bubble udtryk
Mute Checkbox is checked - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Set playback rate
ratenumber · Standard: —- Eksempelværdi
1.5 - Eksempel Bubble udtryk
Speed Dropdown's value - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Enter fullscreen
Ingen handlingsparametre
Select audio track
indexnumber · Standard: —- Eksempelværdi
0 - Eksempel Bubble udtryk
Selected row's current_source_index - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Select subtitle track
indexnumber · Standard: —- Eksempelværdi
0 - Eksempel Bubble udtryk
Selected row's current_source_index - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Tilstande og hændelser
Tilstande
is_playing · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
is_buffering · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
pending_play · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
is_live · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
muted · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
loop · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
has_source · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
is_fullscreen · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
position_seconds · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
duration_seconds · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
volume · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
rate · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
source_generation · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
selected_audio_index · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
selected_subtitle_index · numberNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
status · textNuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før du gemmer succes. idle,loading,readyToPlay,error
audio_tracks_json · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
subtitle_tracks_json · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
error_code · textFejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.
error_message · textFejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.
Begivenheder
source_changedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
source_loadedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
playback_readyNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
playing_changedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
time_changedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
endedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
tracks_changedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
fullscreen_changedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
player_errorNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
Spørgsmål udviklere stiller
Kan jeg eksportere det valgte segment?
Nej. Seek og fuldskærm ændrer afspilning, 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.
Relaterede vejledninger
For hjælp, fortæl os, hvilket plugin og hvilken enhed du bruger, hvilken handling du forsøgte, og hvad der skete. Brug et eksempel uden personlige data. Del aldrig din nøgle eller private filer.