واجهة 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. عند الانتهاء، احفظ التقدم.

مخطط سير العمل — ليس لقطة شاشة للتطبيق

قم بالإعداد مرة واحدة

أنشئ أو اختر مشروع تطبيق 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.

الأدلة ذات الصلة

للحصول على المساعدة، أخبرنا بأي إضافة وجهاز تستخدمهما، الإجراء الذي جربته وما حدث. استخدم مثالًا بدون بيانات شخصية. لا تشارك مفتاحك أو ملفاتك الخاصة أبدًا.