
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 استفاده میکنند. آنها را با انواع داده و نامهای عنصر خود جایگزین کنید. آدرسهای رسانهای نمونه باید با فایلهای خود جایگزین شوند.
عنصر صوتی را اضافه کنید. source_url = Selected Message's audio_url، title = Selected Message's sender_label و subtitle = Selected Message's date_label را تنظیم کنید.
اگر دادههای واقعی شکل موج برای این ضبط دارید، آن را در waveform_peaks_json ارسال کنید. در غیر این صورت خالی بگذارید.
هنگامی که رویداد ready رخ داد، در صورت نیاز از Seek با تعداد ثانیههای ذخیرهشده استفاده کنید. اجازه دهید کاربر Play را فشار دهد. برای دکمههای پخشکننده از Pause، Seek و Set speed استفاده کنید.
current_time و duration را نشان دهید. در playback_ended، پیشرفت گوش دادن برای پیام یا درس انتخابشده را ذخیره کنید. is_active را به وضعیت باز بودن این نما تنظیم کنید.
یکبار پیکربندی کنید
پروژه برنامه Bubble خود را در BestPlugins → Dashboard → Plugins ایجاد یا انتخاب کنید. Xodera Audio Player Native را انتخاب کنید، کلید آن را کپی کنید، سپس Bubble → Plugins → Xodera Audio Player Native را باز کنید و در licensing_api_key بچسبانید. یک بار ذخیره کنید؛ سپس از اقدامات زیر استفاده کنید. هر افزونه در هر پروژه کلید مخصوص به خود را دارد.
از آدرس مستقیم فایل صوتی که برنامه میتواند باز کند استفاده کنید. پخش صدا نیازی به دسترسی به میکروفن یا دوربین ندارد.
یکبار پیکربندی کنید
- پروژه برنامه Bubble خود را در BestPlugins → Dashboard → Plugins ایجاد یا انتخاب کنید.
- این افزونه را انتخاب کنید و کلید پروژه آن را کپی کنید.
- Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
- عنصر را اضافه کنید، دادههای برنامه خود را انتخاب کنید و گردش کار زیر را بسازید.
- 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.
راهنماهای مرتبط
برای دریافت کمک، به ما بگویید از کدام افزونه و دستگاه استفاده میکنید، عملی که امتحان کردید و چه اتفاقی افتاد. از مثالی بدون دادههای شخصی استفاده کنید. هرگز کلید یا فایلهای خصوصی خود را به اشتراک نگذارید.