Інтэрфейс Video Player з узорам кадра з трэйлера Sintel.
Інтэрфейс Video Player з узорам кадра з трэйлера Sintel.
© 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. Заменіце іх уласнымі тыпамі даных і назвамі элементаў. Прыклады медыя-адрасоў трэба замяніць вашымі файламі.

  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.

Звязаныя кіраўніцтва

Для дапамогі паведаміце, які плагін і прыладу вы выкарыстоўваеце, якую дзею спрабавалі і што адбылося. Выкарыстоўвайце прыклад без асабістых даных. Ніколі не дзяліцеся вашым ключом або прыватнымі файламі.