Video Player-interfaco kun ekzempla kadro el la Sintel-trailer.
Video Player-interfaco kun ekzempla kadro el la Sintel-trailer.
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
← Ĉiuj gvidiloj pri Bubble Native

Xodera Plugins · Bubble Native

Xodera Video Player Native

Montru lecionojn, produktdemonstraciojn kaj subtenatajn vivaĵfluojn ene de via aplikaĵo, kun reproduktaj regiloj, plenekrana reĝimo kaj disponeblaj lingvaj trakoj.

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.

Dokumentado reviziita 6 novembro 2026

Praktikaj ekzemploj

Ĉapitraj ligiloj en trejnada aplikaĵo

Lernanto devas reludi unu paŝon de demonstraĵo sen navigi al ekstera ludilo.

`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; ĉiu registro Chapter konservas komencan tempon administratan de la aplikaĵo.

Alklako de ĉapitro → se ŝanĝas fonto, atendu `source_loaded` → Seek al `position_seconds` → Play. Uzu Set playback rate por detala demonstraĵo kaj Enter fullscreen laŭ peto.

Legu `position_seconds`, `duration_seconds` kaj `is_fullscreen`; via laborfluo konservas lecionan progreson nur por la aktuala fonto.

Ĉe `player_error`, montru `error_code`, konservu progreson kaj proponu Reload video. Eventa kompletiĝo ne estas pruvo ke leciono aŭ sekureca taksado estis trapasita.

Uzu rektajn videodosierojn aŭ subtenatajn fluojn. Ĉi tiu ludilo ne eksportas videojn.

Video‑demonstracioj en merkataĵaj listigoj

Sola produkta bildo ne povas klarigi, kiel objekto funkcias, sed video ĉe alia retejo interrompas la aĉetfluon.

`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` por intence silenta unua antaŭrigardo.

Malfermu la elektitan Listing → ligu ĝian videon → Play post ago de la uzanto. Proponu Set muted por sono kaj Enter fullscreen por pli detala inspekto. Ligu `is_active` al la videbla detala vido.

Uzu `has_source`, `is_buffering` kaj `status` por distingi mankantan videon, ŝargadon kaj pretan aŭdvidaĵon.

Kiam oni anstataŭigas la fonton, ĉesu apliki malnovan progreson kaj spuri elektojn. Montru miniaturan rezervaĵon kiam la elektita dosiero ne estas subtenata.

Uzu rektajn videodosierojn aŭ subtenatajn fluojn. Ĉi tiu ludilo ne eksportas videojn.

Elektu disponeblajn lingvojn en subtenata fluo.

Plurlingva aplikaĵo devas oferti la trakojn kiujn specifa fonto efektive enhavas.

`source_url = Selected Programme’s accepted stream URL`; la fonto mem devas provizi kongruajn audio/subtekstajn trakojn.

Sur `tracks_changed`, legu la aktualan `audio_tracks_json` kaj `subtitle_tracks_json`; konstruu elektojn en via aplikaĵo kaj alvoku Select audio track aŭ Select subtitle track kun la aktuala indekso.

Uzu `selected_audio_index`, `selected_subtitle_index` kaj `source_generation` por asocii la elekton kun ĉi tiu fonto.

Rekonstruu la elektojn post ĉiu fonta ŝanĝo. Se trako mankas aŭ ne estas subtenata, retenu la defaŭltan trakon kaj honeste montru tiun disponeblecon.

Uzu rektajn videodosierojn aŭ subtenatajn fluojn. Ĉi tiu ludilo ne eksportas videojn.

Kio funkcias nun

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.

Kreu la laborfluon

Uzu la disponeblajn beta-agojn sube kaj testu la rezulton sur viaj cela aparatoj.

Ĉi tiuj ekzemploj uzas aplikaĵajn rekordojn kiel Lesson, Message kaj Order. Anstataŭigu ilin per viaj propraj datumtipoj kaj elementnomoj. Ekzemplaj aŭdvida adresoj devas esti anstataŭigitaj per viaj propraj dosieroj.

  1. Agordu source_url = Selected Lesson's video_url kaj poster_url = Selected Lesson's poster_url. Uzu auto aŭ progressive por MP4; uzu hls por HLS‑fluo.

  2. Post playback_ready, uzu Seek por daŭrigi ĉe konservita position_seconds. La uzanto komencas Play. Agordu is_active por ĉu la leciona vido estas malfermita.

  3. Aldonu Play, Pause, Seek, Set playback rate kaj Enter fullscreen‑regilojn. Montru position_seconds kaj duration_seconds.

  4. Post tracks_changed, montru la disponeblajn elektojn el audio_tracks_json kaj subtitle_tracks_json por ĉi tiu video. Transdonu la elektitan indekson al Select audio track aŭ Select subtitle track. Ĉe ended, konservu la progreson.

Laborflua diagramo — ne aplikaĵa ekrankopio

Agordu unufoje

Kreu aŭ elektu vian Bubble-aplikaĵan projekton en BestPlugins → Dashboard → Plugins. Elektu Xodera Video Player Native, kopiu ĝian ŝlosilon, poste malfermu Bubble → Plugins → Xodera Video Player Native kaj algluu ĝin en licensing_api_key. Konservu unufoje; poste uzu la subajn agojn. Ĉiu kromaĵo en ĉiu projekto havas sian propran ŝlosilon.

Uzu rektan video- aŭ fluadreson. YouTube aŭ Vimeo-retpaĝa adreso ne estas rekta videodosiero. Reproduktado ne postulas aliron al kamerao aŭ mikrofono.

Agordu unufoje
  1. Kreu aŭ elektu vian Bubble-aplikaĵan projekton ĉe BestPlugins → Dashboard → Plugins.
  2. Elektu ĉi tiun kromaĵon kaj kopiu ĝian projektan ŝlosilon.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Aldonu la elementon, elektu viajn aplikaĵajn datumojn kaj konstruu la suban laborfluon.
  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.
Instalado kaj abono

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.

Konservu la rezulton en via aplikaĵo

Ekzemplo WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Konservu nur por la nuntempe elektita video. Spurindeksoj apartenas al tiu video kaj ne devus esti konservitaj kiel permanaj lingvopreferoj.

Malsukceso, nuligo kaj restaŭro

Sur player_error, montru error_code kaj proponu Reload video. Ĝi reŝargas sen komenci reproduktadon. Elekti alian fonton forigas la malnovajn spuroelektojn. Forlasante la vidon, la video paŭzas; la uzanto premis Play por daŭrigi.

Kapabloj kaj limoj

Rapidoj: 0.5, 1, 1.5 kaj 2. Laŭteco: 0–1. Formatoj: auto, progressive, HLS kaj Android‑nur DASH. Disponeblaj trakoj dependas de la dosiero. Uzu -1 por malŝalti trakon; -2 signifas nekonata kaj ne povas esti elektita. Neniu redaktado, videoeksporto, DRM, bildo‑en‑bildo aŭ permanenta eksterreta kaŝmemoro.

Agordoj, agoj kaj rezultoj

Uzu ĉi tiujn nomojn en Bubble. Planitaj funkcioj estas markitaj aparte.

Disponeblaj beta-agordoj

Elementaj agordoj

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

Statoj

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

Eventoj

source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_error

Agoj kaj iliaj enigoj

PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle track
Elementaj agordoj · 12
source_urltext · Defaŭlto: ""
Ekzempla valorohttps://bestplugins.online/native-samples/lesson.mp4
Ekzemplo Bubble esprimoSelected Lesson's video_url
Adreso de la elektita audio-, video- aŭ bilddosiero. Uzu dosiertipon subtenatan de ĉi tiu kromaĵo.
poster_urltext · Defaŭlto: ""
Ekzempla valorohttps://bestplugins.online/native-samples/poster.jpg
Ekzemplo Bubble esprimoSelected Lesson's poster_url
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
content_typetext · Defaŭlto: "auto"
Ekzempla valoroauto
Ekzemplo Bubble esprimoSelected Lesson's video_content_type
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
ratenumber · Defaŭlto: 1
Ekzempla valoro1.5
Ekzemplo Bubble esprimoSpeed Dropdown's value
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
volumenumber · Defaŭlto: 1
Ekzempla valoro0.8
Ekzemplo Bubble esprimoVolume Slider's value
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
mutedyes/no · Defaŭlto: false
Ekzempla valorono
Ekzemplo Bubble esprimoMute Checkbox is checked
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
loopyes/no · Defaŭlto: false
Ekzempla valorono
Ekzemplo Bubble esprimoSelected Lesson's repeat_enabled
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
is_activeyes/no · Defaŭlto: true
Ekzempla valoroyes
Ekzemplo Bubble esprimoGuideHost's view_is_active (your yes/no custom state)
Agordu jes dum ĉi tiu vido estas malfermita. Agordu ne kiam forlasas, por ke reproduktado aŭ nuna laboro povas ĉesi.
disabledyes/no · Defaŭlto: false
Ekzempla valorono
Ekzemplo Bubble esprimoGuideHost's is_busy (your yes/no custom state)
Malebligu la elementon dum via aplikaĵo estas okupata aŭ ĉi tiu ago ne disponeblas.
native_controlsyes/no · Defaŭlto: false
Ekzempla valorono
Ekzemplo Bubble esprimoApp Settings' use_native_video_controls
Montru aŭ kaŝu la normajn video-regilojn de la aparato.
ui_text_jsontext · Defaŭlto: "{}"
Ekzempla valoro{}
Ekzemplo Bubble esprimoApp Settings' player_labels_json (supported keys only)
Nedeviga JSON kun subtenataj butonetiketoj. Lasu malplena por uzi la enkonstruitan tekston.
languagetext · Defaŭlto: "auto"
Ekzempla valorouk
Ekzemplo Bubble esprimoCurrent User's preferred_language
Agordu language=auto por sekvi subtenatan lingvon de la aparato aŭ retumilo. Enigu subtenatan lingvokodon por elekti ĝin eksplicite.
Agoj kaj iliaj enigoj · 11
Play

Neniuj ago-parametroj

Pause

Neniuj ago-parametroj

Stop and rewind

Neniuj ago-parametroj

Reload video

Neniuj ago-parametroj

Seek
position_secondsnumber · Defaŭlto: —
Ekzempla valoro45
Ekzemplo Bubble esprimoSelected Chapter's start_seconds
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Set volume
volumenumber · Defaŭlto: —
Ekzempla valoro0.8
Ekzemplo Bubble esprimoVolume Slider's value
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Set muted
mutedyes/no · Defaŭlto: —
Ekzempla valorono
Ekzemplo Bubble esprimoMute Checkbox is checked
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Set playback rate
ratenumber · Defaŭlto: —
Ekzempla valoro1.5
Ekzemplo Bubble esprimoSpeed Dropdown's value
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Enter fullscreen

Neniuj ago-parametroj

Select audio track
indexnumber · Defaŭlto: —
Ekzempla valoro0
Ekzemplo Bubble esprimoSelected row's current_source_index
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Select subtitle track
indexnumber · Defaŭlto: —
Ekzempla valoro0
Ekzemplo Bubble esprimoSelected row's current_source_index
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
Statoj kaj eventoj

Statoj

is_playing · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

is_buffering · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

pending_play · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

is_live · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

muted · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

loop · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

has_source · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

is_fullscreen · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

position_seconds · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

duration_seconds · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

volume · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

rate · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

source_generation · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

selected_audio_index · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

selected_subtitle_index · number

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

status · text

Aktuala rezulto de ĉi tiu ago. Uzu la kongruan finigan eventon antaŭ ol konservi sukceson. idle,loading,readyToPlay,error

audio_tracks_json · text

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

subtitle_tracks_json · text

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

error_code · text

Erarinformoj por la lasta ago. Montru utilan mesaĝon kaj proponu la rilatan reprovon.

error_message · text

Erarinformoj por la lasta ago. Montru utilan mesaĝon kaj proponu la rilatan reprovon.

Eventoj

source_changed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

source_loaded

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

playback_ready

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

playing_changed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

time_changed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

ended

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

tracks_changed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

fullscreen_changed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

player_error

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

Demandoj, kiujn programistoj demandas

Ĉu mi povas eksporti la elektitan segmenton?

Ne. Seek kaj plenekrana ŝanĝas reproduktadon, ne video‑bajtojn.

Kiel funkcias la abono?

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.

Rilataj gvidiloj

Por helpo, informu nin kiun kromaĵon kaj aparaton vi uzas, la agon kiun vi provis kaj kio okazis. Uzu ekzemplon sen personaj datumoj. Neniam dividu vian ŝlosilon aŭ privatajn dosierojn.