Video Player интерфејс со примерен кадар од трајлерот Sintel.
Video Player интерфејс со примерен кадар од трајлерот Sintel.
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
← Сите водичи за Bubble Native

Xodera Plugins · Bubble Native

Xodera Video Player Native

Прикажете лекции, демонстрации на производи и поддржани живи стримови во вашата апликација, со контроли за репродукција, цел екран и достапни јазични траки.

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.

Документација прегледана 6 ноември 2026

Практични примери

Врски за поглавја во апликација за обука

Ученику треба да го повтори еден чекор од демонстрацијата без да се префрлува на надворешен плеер.

`source_url = Current Lesson’s video URL`; `poster_url = Current Lesson’s cover`; секој запис Chapter чува почетно време што го одржува апликацијата.

Клик на поглавје → ако се менува извор, почекајте за `source_loaded` → Seek до `position_seconds` → Play. Користете Set playback rate за детална демонстрација и Enter fullscreen по барање.

Прочитајте `position_seconds`, `duration_seconds` и `is_fullscreen`; вашата работна процеса чува напредок на лекцијата само за тековниот извор.

На `player_error`, прикажете `error_code`, зачувајте го напредокот и понудете Reload video. Настанот за завршување не е доказ дека лекцијата или безбедносната процена е успешно помината.

Користете директни видео датотеки или поддржани стримови. Овој плеер не извезува видеа.

Видео демонстрации на листинги во пазарот

Само слика на производот не може да објасни како работи артиклот, но видео надвор од сајтот го прекинува процесот на купување.

`source_url = Selected Listing’s demonstration URL`; `poster_url = its thumbnail`; `muted = yes` за намерно тивок прв преглед.

Отворете го избраниот Listing → поврзете го неговото видео → Play по дејство на корисникот. Понудете Set muted за звук и Enter fullscreen за подетален преглед. Поврзете `is_active` со видливиот приказ на деталите.

Користете `has_source`, `is_buffering` и `status` за да разликувате недостапен видео, вчитување и подготвени медиуми.

При замената на изворот, престанете да применувате стариот напредок и изборите за траки. Прикажете резервна слика кога избраната датотека не е поддржана.

Користете директни видео датотеки или поддржани стримови. Овој плеер не извезува видеа.

Изберете достапни јазични тракови во поддржан стрим

Повеќеназичната апликација треба да понуди траковите кои конкретниот извор навистина ги содржи.

`source_url = Selected Programme’s accepted stream URL`; изворот сам треба да обезбеди компатибилни аудио/поднасловни тракови.

На `tracks_changed`, прочитајте ги тековните `audio_tracks_json` и `subtitle_tracks_json`; создадете избори во вашата апликација и повикајте Select audio track или Select subtitle track со тековниот индекс.

Користете `selected_audio_index`, `selected_subtitle_index` и `source_generation` за да го поврзете изборот со овој извор.

Повторно изградете ги изборите по секоја промена на изворот. Ако траката недостасува или не е поддржана, задржете ја стандардната трака и покажете ја достапноста искрено.

Користете директни видео датотеки или поддржани стримови. Овој плеер не извезува видеа.

Што работи сега

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.

Создајте го работниот процес

Користете ги достапните бета акции подолу и тестирате резултатот на вашите целни уреди.

Овие примери користат записи на апликации како Lesson, Message и Order. Заменете ги со вашите типови податоци и имиња на елементи. Примерните медиумски адреси мора да се заменат со вашите датотеки.

  1. Поставете source_url = Selected Lesson's video_url и poster_url = Selected Lesson's poster_url. Користете auto или progressive за MP4; користете hls за HLS стрим.

  2. По playback_ready, користете Seek за да продолжите на зачуван position_seconds. Корисникот стартува Play. Поставете is_active за да одредите дали приказот на лекцијата е отворен.

  3. Додадете контроли за Play, Pause, Seek, Set playback rate и Enter fullscreen. Прикажете position_seconds и duration_seconds.

  4. По tracks_changed, прикажете ги достапните избори од audio_tracks_json и subtitle_tracks_json за ова видео. Пренесете го избраниот индекс на Select audio track или Select subtitle track. На настанот ended, зачувајте го напредокот.

Дијаграма на работен тек — не е снимка од апликацијата

Конфигурирајте еднаш

Создајте или изберете го вашиот Bubble апликациски проект во BestPlugins → Dashboard → Plugins. Изберете Xodera Video Player Native, копирајте го неговиот клуч, потоа отворете Bubble → Plugins → Xodera Video Player Native и вметнете го во licensing_api_key. Снимете еднаш; потоа користете ги акциите подолу. Секој додаток во секој проект има свој клуч.

Користете директна видео или стрим адреса. YouTube или Vimeo веб-страница не е директна видео датотека. Репродукцијата не бара пристап до камера или микрофон.

Конфигурирајте еднаш
  1. Создајте или изберете го вашиот Bubble апликациски проект на BestPlugins → Dashboard → Plugins.
  2. Изберете го овој додаток и копирајте го неговиот клуч за проект.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Додадете го елементот, изберете ги вашите податоци за апликацијата и изградете го работниот тек подолу.
  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.
Инсталација и претплата

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.

Зачувајте го резултатот во вашата апликација

Пример WatchProgress: owner = Current User, lesson = Selected Lesson, seconds = Video Player's position_seconds, duration = Video Player's duration_seconds. Снимете само за тековно избраното видео. Индексите на траките припаѓаат на тоа видео и не треба да се складираат како трајни избори за јазик.

Неуспех, откажување и опоравок

На player_error, прикажете error_code и понудете Reload video. Се превчитува без стартување на репродукција. Избирањето на друг извор ги брише старите избори за траки. Напуштањето на погледот паузира видеото; корисникот притиска Play за да продолжи.

Можности и ограничувања

Брзини: 0.5, 1, 1.5 и 2. Јачина: 0–1. Формати: auto, progressive, HLS и само Android‑DASH. Достапните траки зависат од датотеката. Користете -1 за да исклучите трака; -2 значи непознато и не може да се избере. Нема уредување, извоз на видео, DRM, слика‑во‑слика или трајно офлајн кеш.

Подесувања, акции и резултати

Користете ги овие имиња во Bubble. Планираните функции се означени посебно.

Достапни бета поставки

Подесувања на елементот

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

Состојби

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

Настани

source_changedsource_loadedplayback_readyplaying_changedtime_changedendedtracks_changedfullscreen_changedplayer_error

Акции и нивните влезови

PlayPauseStop and rewindReload videoSeekSet volumeSet mutedSet playback rateEnter fullscreenSelect audio trackSelect subtitle track
Подесувања на елементот · 12
source_urltext · Стандардно: ""
Примерна вредностhttps://bestplugins.online/native-samples/lesson.mp4
Пример Bubble изразSelected Lesson's video_url
Адреса на избраниот аудио, видео или слика датотека. Користете тип на датотека кој го поддржува овој приклучок.
poster_urltext · Стандардно: ""
Примерна вредностhttps://bestplugins.online/native-samples/poster.jpg
Пример Bubble изразSelected Lesson's poster_url
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
content_typetext · Стандардно: "auto"
Примерна вредностauto
Пример Bubble изразSelected Lesson's video_content_type
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
ratenumber · Стандардно: 1
Примерна вредност1.5
Пример Bubble изразSpeed Dropdown's value
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
volumenumber · Стандардно: 1
Примерна вредност0.8
Пример Bubble изразVolume Slider's value
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
mutedyes/no · Стандардно: false
Примерна вредностno
Пример Bubble изразMute Checkbox is checked
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
loopyes/no · Стандардно: false
Примерна вредностno
Пример Bubble изразSelected Lesson's repeat_enabled
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
is_activeyes/no · Стандардно: true
Примерна вредностyes
Пример Bubble изразGuideHost's view_is_active (your yes/no custom state)
Поставете да доколку овој поглед е отворен. Поставете не кога се напушта, за да се застане репродукцијата или тековната работа.
disabledyes/no · Стандардно: false
Примерна вредностno
Пример Bubble изразGuideHost's is_busy (your yes/no custom state)
Оневозможете елементот додека вашата апликација е зафатена или оваа акција не е достапна.
native_controlsyes/no · Стандардно: false
Примерна вредностno
Пример Bubble изразApp Settings' use_native_video_controls
Прикажи или скриј ги стандардните видео контроли на уредот.
ui_text_jsontext · Стандардно: "{}"
Примерна вредност{}
Пример Bubble изразApp Settings' player_labels_json (supported keys only)
Опционален JSON со поддржани натписи на копчиња. Оставете празно за да се користи вграден текст.
languagetext · Стандардно: "auto"
Примерна вредностuk
Пример Bubble изразCurrent User's preferred_language
Поставете language=auto за да се следи поддржан јазик на уредот или прелистувачот. Внесете поддржан јазичен код за да го изберете јазикот експлицитно.
Акции и нивните влезови · 11
Play

Нема параметри за дејство

Pause

Нема параметри за дејство

Stop and rewind

Нема параметри за дејство

Reload video

Нема параметри за дејство

Seek
position_secondsnumber · Стандардно: —
Примерна вредност45
Пример Bubble изразSelected Chapter's start_seconds
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Set volume
volumenumber · Стандардно: —
Примерна вредност0.8
Пример Bubble изразVolume Slider's value
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Set muted
mutedyes/no · Стандардно: —
Примерна вредностno
Пример Bubble изразMute Checkbox is checked
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Set playback rate
ratenumber · Стандардно: —
Примерна вредност1.5
Пример Bubble изразSpeed Dropdown's value
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Enter fullscreen

Нема параметри за дејство

Select audio track
indexnumber · Стандардно: —
Примерна вредност0
Пример Bubble изразSelected row's current_source_index
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Select subtitle track
indexnumber · Стандардно: —
Примерна вредност0
Пример Bubble изразSelected row's current_source_index
Користете ја вредноста од тековниот деловен запис; проверете ја според ограничувањата подолу.
Состојби и настани

Состојби

is_playing · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

is_buffering · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

pending_play · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

is_live · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

muted · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

loop · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

has_source · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

is_fullscreen · yes/no

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

position_seconds · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

duration_seconds · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

volume · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

rate · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

source_generation · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

selected_audio_index · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

selected_subtitle_index · number

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

status · text

Тековен резултат на оваа акција. Користете го соодветниот настан за завршување пред да го зачувате успехот. idle,loading,readyToPlay,error

audio_tracks_json · text

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

subtitle_tracks_json · text

Тековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан.

error_code · text

Информации за грешка за последната акција. Прикажете корисна порака и понудете соодветен повторен обид.

error_message · text

Информации за грешка за последната акција. Прикажете корисна порака и понудете соодветен повторен обид.

Настани

source_changed

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

source_loaded

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

playback_ready

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

playing_changed

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

time_changed

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

ended

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

tracks_changed

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

fullscreen_changed

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

player_error

Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.

Прашања што ги поставуваат развивачите

Може ли да извезам избраниот сегмент?

Не. Seek и цел екран менуваат репродукција, не видео бајтови.

Како функционира претплатата?

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.

Поврзани упатства

За помош, кажете ни кој приклучок и уред користите, која акција ја испробавте и што се случи. Користете пример без лични податоци. Никогаш не споделувајте го вашиот клуч или приватни датотеки.