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 सेट करें। MP4 के लिए auto या progressive का उपयोग करें; HLS स्ट्रीम के लिए hls का उपयोग करें।

  2. playback_ready के बाद, सहेजे गए position_seconds पर पुनः शुरू करने के लिए Seek का उपयोग करें। उपयोगकर्ता 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 इवेंट पर प्रगति सहेजें।

वर्कफ़्लो आरेख — ऐप स्क्रीनशॉट नहीं

एक बार कॉन्फ़िगर करें

BestPlugins → Dashboard → Plugins में अपना Bubble ऐप प्रोजेक्ट बनाएँ या चुनें। 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.

संबंधित गाइड्स

सहायता के लिए, हमें बताएं कि आप कौन सा प्लगइन और डिवाइस उपयोग कर रहे हैं, आपने कौन सी क्रिया आज़माई और क्या हुआ। व्यक्तिगत डेटा के बिना एक उदाहरण उपयोग करें। अपनी कुंजी या निजी फ़ाइलें कभी साझा न करें।