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, picture-in-picture կամ մշտական օֆլայն քեշ։

Կարգավորումներ, գործողություններ և արդյունքներ

Օգտագործեք այս անունները 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)
Սահմանեք yes, քանի դեռ այս տեսքը բաց է։ Դուրս գալիս սահմանեք no, որպեսզի նվագարկումը կամ ընթացիկ աշխատանքը կարողանա դադարել։
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.

Առնչվող ուղեցույցներ

Օգնության համար նշեք, թե որ պլագինն ու սարքն եք օգտագործում, ինչ գործողություն եք փորձել և ինչ է տեղի ունեցել։ Օգտագործեք օրինակ առանց անձնական տվյալների։ Երբեք մի փոխանցեք ձեր բանալին կամ անձնական ֆայլերը։