رابط Audio Player با یک عنوان مثال.
رابط Audio Player با یک عنوان مثال.
← تمام راهنمای بومی

Xodera Plugins · Bubble Native

Xodera Audio 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 = Selected Message’s audio URL`; `title = Selected Message’s sender label`; `subtitle = Selected Message’s timestamp`.

پخش‌کننده را در جزئیات پیام انتخاب‌شده قرار دهید. اجازه دهید کاربر Play/Pause، Seek به نقطه‌ای مفید و Set speed. `is_active` را به گفت‌وگوی باز بپیوندید.

از `is_playing`، `current_time` و `duration` برای نمایش پیشرفت استفاده کنید. شناسه Message را در برنامه خود نگه دارید تا رویداد دیرهنگام نتواند گفت‌وگوی دیگری را به‌روز کند.

در `player_error`، `error_code` را نشان دهید و Reload source را ارائه کنید؛ پیام را حفظ کنید و پس از خطا هرگز آن را به‌عنوان گوش داده‌شده علامت‌گذاری نکنید.

فقط پخش. برنامه شما پیشرفت گوش دادن را ذخیره می‌کند.

ادامهٔ درس زبان از موقعیت ذخیره‌شده

یادگیرندگان باید بخش دشوار را دوباره پخش کنند به‌جای اینکه کل درس را از ابتدا شروع کنند.

`source_url = Current Lesson’s audio URL`؛ `title = Current Lesson’s name`؛ موقعیت آخر به آن یادگیرنده و درس در پایگاه داده شما تعلق دارد.

پس از `ready` برای درس جاری، Seek به ثانیه‌های ذخیره‌شده و منتظر بمانید تا کاربر Play کند. برای گوش دادن آهسته‌تر از Set speed استفاده کنید. پیشرفت را با جریان کاری برنامه خود ذخیره کنید.

`current_time` و `duration` را بخوانید. در `playback_ended`، برنامه شما می‌تواند یک نقطه عطف گوش دادن برای Lesson جاری ثبت کند.

اگر منبع تغییر کرد، موقعیت قبلی را تا بارگذاری آن درس حذف کنید. تکمیل گوش دادن را به‌عنوان اثبات این‌که یادگیرنده مفهوم را درک کرده یا آزمون را پاس کرده است درنظر نگیرید.

فقط پخش. برنامه شما پیشرفت گوش دادن را ذخیره می‌کند.

بررسی یک پیوست صوتی با نظرات زمان‌دار

ویرایشگران یا مربیان نیاز دارند از یک نظر به لحظه مرتبط در ضبط پرش کنند.

`source_url = Selected Review’s recording URL`؛ هر نظر متعلق به برنامه مقدار ثانیه خود را ذخیره می‌کند؛ `waveform_peaks_json` اختیاری شامل قله‌های واقعی برای همان ضبط است.

روی یک نظر کلیک کنید → Seek به ثانیه‌های آن → Play. در تغییر منبع، قله‌ها را جایگزین یا پاک کنید و بازبینی انتخاب‌شده را دوباره بپیوندید.

`current_time` را در کنار کامپوزر نظر خود نمایش دهید. `waveform_available` به رابط کاربری شما می‌گوید آیا قله‌های واقعی ارائه‌شده در دسترس هستند یا نه.

محدود یا رد کنید زمان‌مهرهای منقضی‌شده نسبت به مدت زمان فعلی در برنامه‌تان. وقتی قله‌های واقعی وجود ندارند، کنترل پیشرفت معمولی را نشان دهید نه تحلیل صوتی ساختگی.

فقط پخش. برنامه شما پیشرفت گوش دادن را ذخیره می‌کند.

آنچه اکنون کار می‌کند

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 Message's audio_url، title = Selected Message's sender_label و subtitle = Selected Message's date_label را تنظیم کنید.

  2. اگر داده‌های واقعی شکل موج برای این ضبط دارید، آن را در waveform_peaks_json ارسال کنید. در غیر این صورت خالی بگذارید.

  3. هنگامی که رویداد ready رخ داد، در صورت نیاز از Seek با تعداد ثانیه‌های ذخیره‌شده استفاده کنید. اجازه دهید کاربر Play را فشار دهد. برای دکمه‌های پخش‌کننده از Pause، Seek و Set speed استفاده کنید.

  4. current_time و duration را نشان دهید. در playback_ended، پیشرفت گوش دادن برای پیام یا درس انتخاب‌شده را ذخیره کنید. is_active را به وضعیت باز بودن این نما تنظیم کنید.

نمودار جریان کار — نه یک اسکرین‌شات برنامه

یک‌بار پیکربندی کنید

پروژه برنامه Bubble خود را در BestPlugins → Dashboard → Plugins ایجاد یا انتخاب کنید. Xodera Audio Player Native را انتخاب کنید، کلید آن را کپی کنید، سپس Bubble → Plugins → Xodera Audio Player Native را باز کنید و در licensing_api_key بچسبانید. یک بار ذخیره کنید؛ سپس از اقدامات زیر استفاده کنید. هر افزونه در هر پروژه کلید مخصوص به خود را دارد.

از آدرس مستقیم فایل صوتی که برنامه می‌تواند باز کند استفاده کنید. پخش صدا نیازی به دسترسی به میکروفن یا دوربین ندارد.

یک‌بار پیکربندی کنید
  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.

نتیجه را در برنامه خود ذخیره کنید

مثال ListeningProgress: owner = Current User، lesson = Selected Lesson، seconds = Audio Player's current_time، duration = Audio Player's duration. هنگام توقف یا خروج کاربر از درس ذخیره کنید، نه در هر به‌روزرسانی صفحه.

خطا، لغو و بازیابی

در player_error، error_code را نشان دهید و Reload source را ارائه کنید. پیام یا رکورد درس را نگه دارید. وقتی ضبط دیگری انتخاب شد، موقعیت ذخیره‌شده خود را بارگذاری کنید. بازگشت به نمایه به‌طور خودکار پخش را آغاز نمی‌کند.

قابلیت‌ها و محدودیت‌ها

سرعت‌های پخش: 1، 1.5 و 2. صدا: 0–1. داده‌های شکل موج: 2–2048 مقدار، هرکدام بین 0 و 1. فرمت‌های صوتی پشتیبانی‌شده به دستگاه بستگی دارد. پخش‌کننده صدا را ضبط، تبدیل به متن یا برای استفاده آفلاین به‌صورت دائمی ذخیره نمی‌کند. پخش در پس‌زمینه و صفحه قفل تضمین نمی‌شود.

تنظیمات، اقدامات و نتایج

از این نام‌ها در Bubble استفاده کنید. ویژگی‌های برنامه‌ریزی‌شده به‌صورت جداگانه علامت‌گذاری شده‌اند.

تنظیمات بتای موجود

تنظیمات عنصر

source_url · textwaveform_peaks_json · texttitle · textsubtitle · textplayback_rate · numbervolume · numberloop · yes_nois_active · yes_nodisabled · yes_noui_text_json · textlanguage · text

وضعیت‌ها

player_status · textis_playing · yes_nois_loaded · yes_nois_buffering · yes_nocurrent_time · numberduration · numberprogress · numberplayback_rate · numbervolume · numberis_looping · yes_nowaveform_available · yes_nowaveform_status · texterror_code · text

رویدادها

readyplayback_startedplayback_pausedplayback_endedseek_completedrate_changedplayer_error

اقدامات و ورودی‌های آن‌ها

PlayPauseToggleStopSeekSet speedSet volumeReload source
تنظیمات عنصر · 11
source_urltext · پیش‌فرض: ""
مقدار مثالhttps://bestplugins.online/native-samples/lesson.mp3
مثال Bubble عبارتSelected Message's audio_url
آدرس فایل صوتی، ویدئویی یا تصویری انتخاب‌شده. از نوع فایلی استفاده کنید که این افزونه پشتیبانی می‌کند.
waveform_peaks_jsontext · پیش‌فرض: ""
مقدار مثال[0.1,0.4,0.2,0.7]
مثال Bubble عبارتSelected Message's waveform_peaks_json
مقدارهای نرمال‌سازی‌شده واقعی دامنه برای این ضبط؛ اگر در دسترس نیست خالی بگذارید.
titletext · پیش‌فرض: ""
مقدار مثالLesson 4 — review
مثال Bubble عبارتSelected Lesson's name
متن قابل مشاهده برنامه؛ خالی بودن از نسخه بومی‌سازی‌شده داخلی استفاده می‌کند در صورت پشتیبانی. بدون اعتبارنامه.
subtitletext · پیش‌فرض: ""
مقدار مثالTeacher · today
مثال Bubble عبارتSelected Message's sender_label
متن قابل مشاهده برنامه؛ خالی بودن از نسخه بومی‌سازی‌شده داخلی استفاده می‌کند در صورت پشتیبانی. بدون اعتبارنامه.
playback_ratenumber · پیش‌فرض: 1
مقدار مثال1.5
مثال Bubble عبارتCurrent User's listening_speed
از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیت‌های زیر اعتبارسنجی کنید.
volumenumber · پیش‌فرض: 1
مقدار مثال0.8
مثال Bubble عبارتVolume Slider's value
از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیت‌های زیر اعتبارسنجی کنید.
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)
عنصر را غیرفعال کنید وقتی برنامه شما مشغول است یا این عمل در دسترس نیست.
ui_text_jsontext · پیش‌فرض: ""
مقدار مثال{}
مثال Bubble عبارتApp Settings' player_labels_json (supported keys only)
JSON اختیاری با برچسب‌های دکمه پشتیبانی‌شده. برای استفاده از متن داخلی خالی بگذارید.
languagetext · پیش‌فرض: "auto"
مقدار مثالuk
مثال Bubble عبارتCurrent User's preferred_language
language=auto را تنظیم کنید تا زبان دستگاه یا مرورگر پشتیبانی‌شده را دنبال کند. برای انتخاب صریح، کد زبان پشتیبانی‌شده را وارد کنید.
اقدامات و ورودی‌های آن‌ها · 8
Play

پارامترهای اقدام وجود ندارد

Pause

پارامترهای اقدام وجود ندارد

Toggle

پارامترهای اقدام وجود ندارد

Stop

پارامترهای اقدام وجود ندارد

Seek
secondsnumber · پیش‌فرض: —
مقدار مثال12
مثال Bubble عبارتSelected Comment's seconds
از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیت‌های زیر اعتبارسنجی کنید.
Set speed
ratenumber · پیش‌فرض: —
مقدار مثال1.5
مثال Bubble عبارتSpeed Dropdown's value
از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیت‌های زیر اعتبارسنجی کنید.
Set volume
volumenumber · پیش‌فرض: —
مقدار مثال0.8
مثال Bubble عبارتVolume Slider's value
از مقدار رکورد تجاری فعلی استفاده کنید؛ آن را نسبت به محدودیت‌های زیر اعتبارسنجی کنید.
Reload source

پارامترهای اقدام وجود ندارد

وضعیت‌ها و رویدادها

وضعیت‌ها

player_status · text

نتیجه فعلی این عمل. قبل از ذخیره موفقیت، از رویداد تکمیل مطابقت‌دار استفاده کنید.

is_playing · yes_no

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

is_loaded · yes_no

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

is_buffering · yes_no

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

current_time · number

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

duration · number

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

progress · number

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

playback_rate · number

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

volume · number

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

is_looping · yes_no

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

waveform_available · yes_no

مقدار فعلی مورد انتخاب‌شده. پس از رویداد مرتبط آن را بخوانید.

waveform_status · text

نتیجه فعلی این عمل. قبل از ذخیره موفقیت، از رویداد تکمیل مطابقت‌دار استفاده کنید.

error_code · text

اطلاعات خطا برای آخرین عمل. پیام مفید نشان دهید و گزینهٔ تلاش مجدد مرتبط را ارائه دهید.

رویدادها

ready

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

playback_started

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

playback_paused

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

playback_ended

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

seek_completed

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

rate_changed

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

player_error

هنگامی که این رویداد رخ می‌دهد، وضعیت‌های مرتبط را از همان عنصر بخوانید.

سؤالاتی که توسعه‌دهندگان می‌پرسند

آیا موج‌نگاری ایجاد می‌کند؟

نه. برای آن منبع قله‌های نرمال‌سازی شده واقعی فراهم کنید؛ پیشرفت معمولی بدون آن‌ها کار می‌کند.

اشتراک چگونه کار می‌کند؟

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.

راهنماهای مرتبط

برای دریافت کمک، به ما بگویید از کدام افزونه و دستگاه استفاده می‌کنید، عملی که امتحان کردید و چه اتفاقی افتاد. از مثالی بدون داده‌های شخصی استفاده کنید. هرگز کلید یا فایل‌های خصوصی خود را به اشتراک نگذارید.