
© copyright Blender Foundation | durian.blender.org · CC BY 3.0
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`; кожны раздзел захоўвае пачатковы час, які належыць дадатку.
Націск на раздзел → калі змяняецца крыніца, чакайце `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` для намерна ціхага першага папярэдняга прагляду.
Адкрыйце выбраны спіс → звяжыце яго відэа → 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. Заменіце іх уласнымі тыпамі даных і назвамі элементаў. Прыклады медыя-адрасоў трэба замяніць вашымі файламі.
Усталюйце source_url = Selected Lesson's video_url і poster_url = Selected Lesson's poster_url. Выкарыстоўвайце auto або progressive для MP4; выкарыстоўвайце hls для HLS патоку.
Пасля playback_ready, выкарыстоўвайце Seek, каб працягнуць з захаваным position_seconds. Карыстальнік запускае Play. Усталюйце is_active у залежнасці ад таго, ці адкрыты выгляд урока.
Дадайце элементы кіравання Play, Pause, Seek, Set playback rate і Enter fullscreen. Пакажыце position_seconds і duration_seconds.
Пасля 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 не з’яўляюцца непасрэдным відэафайлам. Прайграванне не патрабуе доступу да камеры або мікрафона.
Наладзьце адзін раз
- Стварыце або выберыце ваш праект прыкладання Bubble у BestPlugins → Dashboard → Plugins.
- Выберыце гэты плагін і скапіруйце яго ключ праекта.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- Дадайце элемент, выберыце вашы дадзеныя прыкладання і пабудуйце працэс ніжэй.
- 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.
Звязаныя кіраўніцтва
Для дапамогі паведаміце, які плагін і прыладу вы выкарыстоўваеце, якую дзею спрабавалі і што адбылося. Выкарыстоўвайце прыклад без асабістых даных. Ніколі не дзяліцеся вашым ключом або прыватнымі файламі.