อินเทอร์เฟซ 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 expressionSelected Lesson's video_url
ที่อยู่ของไฟล์เสียง วิดีโอ หรือรูปภาพที่เลือก ใช้ประเภทไฟล์ที่ปลั๊กอินนี้รองรับ
poster_urltext · ค่าเริ่มต้น: ""
ค่าตัวอย่างhttps://bestplugins.online/native-samples/poster.jpg
ตัวอย่าง Bubble expressionSelected Lesson's poster_url
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
content_typetext · ค่าเริ่มต้น: "auto"
ค่าตัวอย่างauto
ตัวอย่าง Bubble expressionSelected Lesson's video_content_type
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
ratenumber · ค่าเริ่มต้น: 1
ค่าตัวอย่าง1.5
ตัวอย่าง Bubble expressionSpeed Dropdown's value
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
volumenumber · ค่าเริ่มต้น: 1
ค่าตัวอย่าง0.8
ตัวอย่าง Bubble expressionVolume Slider's value
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
mutedyes/no · ค่าเริ่มต้น: false
ค่าตัวอย่างno
ตัวอย่าง Bubble expressionMute Checkbox is checked
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
loopyes/no · ค่าเริ่มต้น: false
ค่าตัวอย่างno
ตัวอย่าง Bubble expressionSelected Lesson's repeat_enabled
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
is_activeyes/no · ค่าเริ่มต้น: true
ค่าตัวอย่างyes
ตัวอย่าง Bubble expressionGuideHost's view_is_active (your yes/no custom state)
ตั้งค่าเป็นใช่ขณะมุมมองนี้เปิดอยู่ ตั้งค่าเป็นไม่เมื่อออกจากมุมมอง เพื่อให้การเล่นหรืองานปัจจุบันหยุด
disabledyes/no · ค่าเริ่มต้น: false
ค่าตัวอย่างno
ตัวอย่าง Bubble expressionGuideHost's is_busy (your yes/no custom state)
ปิดการใช้งานองค์ประกอบขณะแอปของคุณกำลังทำงานหรือการกระทำนี้ไม่พร้อมใช้งาน
native_controlsyes/no · ค่าเริ่มต้น: false
ค่าตัวอย่างno
ตัวอย่าง Bubble expressionApp Settings' use_native_video_controls
แสดงหรือซ่อนการควบคุมวิดีโอมาตรฐานของอุปกรณ์.
ui_text_jsontext · ค่าเริ่มต้น: "{}"
ค่าตัวอย่าง{}
ตัวอย่าง Bubble expressionApp Settings' player_labels_json (supported keys only)
JSON ทางเลือกพร้อมปุ่มที่รองรับ เว้นว่างเพื่อใช้ข้อความในระบบ
languagetext · ค่าเริ่มต้น: "auto"
ค่าตัวอย่างuk
ตัวอย่าง Bubble expressionCurrent User's preferred_language
ตั้งค่า language=auto ให้ตามอุปกรณ์หรือภาษาของเบราว์เซอร์ที่รองรับ ป้อนรหัสภาษาที่รองรับเพื่อเลือกอย่างชัดเจน
การกระทำและอินพุตของมัน · 11
Play

ไม่มีพารามิเตอร์การกระทำ

Pause

ไม่มีพารามิเตอร์การกระทำ

Stop and rewind

ไม่มีพารามิเตอร์การกระทำ

Reload video

ไม่มีพารามิเตอร์การกระทำ

Seek
position_secondsnumber · ค่าเริ่มต้น: —
ค่าตัวอย่าง45
ตัวอย่าง Bubble expressionSelected Chapter's start_seconds
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
Set volume
volumenumber · ค่าเริ่มต้น: —
ค่าตัวอย่าง0.8
ตัวอย่าง Bubble expressionVolume Slider's value
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
Set muted
mutedyes/no · ค่าเริ่มต้น: —
ค่าตัวอย่างno
ตัวอย่าง Bubble expressionMute Checkbox is checked
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
Set playback rate
ratenumber · ค่าเริ่มต้น: —
ค่าตัวอย่าง1.5
ตัวอย่าง Bubble expressionSpeed Dropdown's value
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
Enter fullscreen

ไม่มีพารามิเตอร์การกระทำ

Select audio track
indexnumber · ค่าเริ่มต้น: —
ค่าตัวอย่าง0
ตัวอย่าง Bubble expressionSelected row's current_source_index
ใช้ค่าจากบันทึกธุรกิจปัจจุบัน; ตรวจสอบความถูกต้องเทียบกับขีดจำกัดด้านล่าง
Select subtitle track
indexnumber · ค่าเริ่มต้น: —
ค่าตัวอย่าง0
ตัวอย่าง Bubble expressionSelected 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.

คู่มือที่เกี่ยวข้อง

หากต้องการความช่วยเหลือ, บอกเราว่าคุณใช้ปลั๊กอินและอุปกรณ์ใด, การกระทำที่คุณลองทำและสิ่งที่เกิดขึ้น. ใช้ตัวอย่างโดยไม่มีข้อมูลส่วนบุคคล. อย่าแชร์คีย์หรือไฟล์ส่วนตัวของคุณ