Audio Recorder интерфейс.
Audio Recorder интерфейс.
← Всички вградени ръководства

Xodera Plugins · Bubble Native

Xodera Audio Recorder 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

Практически примери

Прослушайте преди да изпратите неконфиденциално гласово съобщение.

Потребителите се нуждаят от възможност да прослушат и заменят запис, преди да се превърне в прикачен файл.

`title = the app’s conversation label`; задайте `max_duration_seconds` и `max_upload_bytes` към вашата политика за съобщения.

Start recording → Stop recording → изчакайте `recording_ready` → Play preview. Предложете Seek preview и Set preview speed. Само изричното „Изпращане“ задейства Upload to Bubble на приетия краен пункт за качване от приложението.

Само при `upload_succeeded` създайте вашия Message и задайте неговото аудио поле на `uploaded_file`. Съобщението не се създава от самия записвач.

При отказ на микрофона покажете `permission_status`; при неуспешно качване запазете локалния запис. Проверете резултата от неизвестно качване преди повторен опит, за да не създаде „Изпращане“ дублирани прикачени файлове/съобщения.

Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.

Упражнение по произношение без незабавно качване

Учениците искат да сравнят собствената си устна реакция с урока, преди да решат да я изпратят.

`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; отговорът на упражнението остава запис, собственост на приложението.

Запис → Спиране → Play preview. Позволете на ученика да превърти, забави предварителния преглед или отмени и запише нов опит. Save locally само когато изберат да запазят черновата.

`duration`, `local_uri`, `mime_type` и `draft_id` описват опита. Вашето приложение решава дали да остане локално или по-късно да бъде изпратено чрез избрания от вас процес на качване.

При `preview_error` запазете черновата и покажете `error_code`. Не превръщайте предварителен преглед или запазена чернова в изпратен Отговор, докато процесът на изпращане на приложението не успее.

Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.

Запазете локална гласова чернова и направете изпращането изрично

Полевият работник може да бъде прекъснат преди да завърши бележката и не трябва да е принуден да я качва само за да я запази.

`saved_draft_id = the draft ID stored by your app for this device and account`; `title = the selected non-sensitive task label`.

Start/Stop recording → Save locally. Съхранете върнатия `draft_id` във вашето собствено състояние, обвързано с устройството/акаунта. Използвайте Restore local draft за същия идентификатор, след това Play preview преди да решите дали да качите.

При `local_saved` или `local_restored` проверете `is_saved_locally`, `local_uri` и `duration`. Изтрийте запазената чернова само след изрично потребителско решение или след отделно потвърдена политика за запазване.

Ако възстановяването не успее, покажете `error_code` и запазете идентификатора за диагностика; не докладвайте празно или различно записване като възстановено. Никога не извършвайте auto‑качване при повторно свързване.

Bubble качване създава публичен аудио файл. Не използвайте това качване за поверителни записи.

Какво работи сега

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. Добавете рекордера. Задайте document_context = Current User's unique id и is_active дали изгледът за записване е отворен.

  2. Start recording иска разрешение за микрофон. Pause и Resume запазват същия запис. Stop recording го завършва; изчакайте recording_ready преди да предложите преглед или качване.

  3. Използвайте контролите за предварителен преглед, за да слушате. Save locally запазва чернова на това устройство; след local_saved, запазете draft_id за Restore local draft.

  4. Обяснете, че изпращането създава публичен файл. Задайте bubble_upload_url към вашия собствен Bubble правилен Development или Live адрес за качване на файл. Изпълнявайте Upload to Bubble само когато потребителят избере Изпращане; при upload_succeeded, запазете uploaded_file във вашия запис.

Диаграма на работния процес — не е снимка на приложение

Конфигурирайте еднократно

Създайте или изберете вашия Bubble проект в BestPlugins → Dashboard → Plugins. Изберете Xodera Audio Recorder Native, копирайте неговия ключ, след това отворете Bubble → Plugins → Xodera Audio Recorder Native и поставете го в licensing_api_key. Запазете веднъж; след това използвайте действията по-долу. Всеки плъгин във всеки проект има свой собствен ключ.

Поискайте разрешение за микрофон, когато потребителят започне запис. Изберете как приложението ще запазва черновите. Bubble качването съхранява публичен файл, затова го използвайте само за аудио, подходящо за публично съхранение.

Конфигурирайте еднократно
  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.

Запазете резултата във вашето приложение

След upload_succeeded, задайте VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration и mime_type = Recorder's mime_type. draft_id възстановява чернова на това устройство; това не е онлайн аудио файл.

Неуспех, отказ и възстановяване

Ако достъпът до микрофона е отказан, обяснете как да го активирате в настройките на устройството. Cancel recording отхвърля незаписаното; запазените чернови остават. Ако качването бъде прекъснато, запазете локалния запис и проверете дали файлът е пристигнал, преди да го изпратите отново. Delete saved draft премахва само избраната запазена чернова.

Възможности и ограничения

Стандартно максимално записване: 300 секунди; конфигурируемо 1–3600. Стандартен лимит за качване: 10 MiB; максимум 30 MiB. Време за изчакване на качване: 60 секунди, без автоматичен повторен опит. Bubble качванията са публични. Поддържат се само вашите *.bubbleapps.io адреси за качване на файлове; персонализирани домейни не се поддържат. Локалните чернови не са криптирани.

Настройки, действия и резултати

Използвайте тези имена в Bubble. Планираните функции са маркирани отделно.

Налични бета настройки

Настройки на елемента

title · textmax_duration_seconds · numbermax_upload_bytes · numberis_active · yes_nodisabled · yes_noui_text_json · textsaved_draft_id · textbubble_upload_url · textlanguage · textdocument_context · text

Състояния

recorder_status · textpermission_status · textis_recording · yes_nois_paused · yes_noduration · numberlocal_uri · textdraft_id · textis_saved_locally · yes_nomime_type · textfile_size · numberwaveform_peaks_json · textpreview_status · textpreview_is_playing · yes_nopreview_current_time · numberupload_status · textupload_progress · numberuploaded_url · textuploaded_file · fileerror_code · text

Събития

recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_error

Действия и техните входове

Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed
Настройки на елемента · 10
titletext · По подразбиране: ""
Примерна стойностLesson 4 — review
Пример Bubble изразSelected Lesson's name
Видим текст в приложението; празно използва вграден локализиран текст, където се поддържа. Без идентификационни данни.
max_duration_secondsnumber · По подразбиране: 300
Примерна стойност300
Пример Bubble изразVoice Settings' max_seconds
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
max_upload_bytesnumber · По подразбиране: 10485760
Примерна стойност10485760
Пример Bubble изразVoice Settings' max_upload_bytes
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
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 с поддържани етикети за бутони. Оставете празно, за да се използва вграденият текст.
saved_draft_idtext · По подразбиране: ""
Примерна стойност<returned draft_id>
Пример Bubble изразSelected VoiceDraft's draft_id
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
bubble_upload_urltext · По подразбиране: ""
Примерна стойностhttps://your-app.bubbleapps.io/version-test/fileupload
Пример Bubble изразApp Settings' selected_bubble_upload_url
Вашият собствен Bubble адрес за качване на файлове в приложението: /version-test/fileupload за Development, /fileupload за Live. Това качване създава публични файлове.
languagetext · По подразбиране: "auto"
Примерна стойностuk
Пример Bubble изразCurrent User's preferred_language
Задайте language=auto да следва поддържано устройство или език на браузъра. Въведете поддържан код на езика, за да го изберете изрично.
document_contexttext · По подразбиране: ""
Примерна стойност<current-user-id>
Пример Bubble изразCurrent User's unique id
Стабилна стойност за този акаунт или запис. Използвайте същата стойност при възстановяване на запазените му файлове или чернови.
Действия и техните входове · 15
Start recording

Няма параметри за действие

Pause recording

Няма параметри за действие

Resume recording

Няма параметри за действие

Stop recording

Няма параметри за действие

Cancel recording

Няма параметри за действие

Save locally

Няма параметри за действие

Restore local draft
draft_idtext · По подразбиране: —
Примерна стойност<returned draft_id>
Пример Bubble изразSelected VoiceDraft's draft_id
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Delete saved draft
draft_idtext · По подразбиране: —
Примерна стойност<returned draft_id>
Пример Bubble изразSelected VoiceDraft's draft_id
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Upload to Bubble

Няма параметри за действие

Cancel upload

Няма параметри за действие

Play preview

Няма параметри за действие

Pause preview

Няма параметри за действие

Stop preview

Няма параметри за действие

Seek preview
secondsnumber · По подразбиране: —
Примерна стойност12
Пример Bubble изразSelected Comment's seconds
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Set preview speed
ratenumber · По подразбиране: —
Примерна стойност1.5
Пример Bubble изразPreview Speed Dropdown's value
Използвайте стойността от текущия бизнес запис; проверете я спрямо долните ограничения.
Състояния и събития

Състояния

recorder_status · text

Текущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.

permission_status · text

Текущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.

is_recording · yes_no

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

is_paused · yes_no

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

duration · number

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

local_uri · text

Местоположение на файла на това устройство. Запазете или качете файла отделно, ако трябва да остане онлайн.

draft_id · text

Идентификатор за този елемент или действие. Запазете го заедно със съответния запис в приложението. Използвайте същия идентификатор на заявката при повторен опит за несигурен резултат.

is_saved_locally · yes_no

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

mime_type · text

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

file_size · number

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

waveform_peaks_json · text

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

preview_status · text

Текущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.

preview_is_playing · yes_no

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

preview_current_time · number

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

upload_status · text

Текущ резултат от това действие. Използвайте съответното събитие за завършване преди да запазите успеха.

upload_progress · number

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

uploaded_url · text

Текуща стойност за избрания елемент. Прочетете я след свързаното събитие.

uploaded_file · file

Файл, върнат след upload_succeeded. Запазете го в полето Bubble File.

error_code · text

Информация за грешка от последното действие. Показвайте полезно съобщение и предложете съответното повторение.

Събития

recording_started

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recording_paused

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recording_resumed

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recording_stopped

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recording_ready

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recording_cancelled

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

recorder_error

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

local_saved

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

local_restored

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

local_deleted

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

upload_succeeded

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

upload_failed

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

upload_cancelled

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

preview_ready

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

preview_error

Когато това събитие се случи, прочетете свързаните състояния от същия елемент.

Въпроси, които задават разработчиците

Качва ли локалното запазване записа?

Не. Save locally запазва чернова на собствено устройство. Upload to Bubble е отделна изрична публична операция.

Как работи абонаментът?

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.

Свързани ръководства

За помощ, кажете ни кой плъгин и устройство използвате, действието, което опитахте, и какво се случи. Използвайте пример без лични данни. Никога не споделяйте вашия ключ или частни файлове.