Interfàcia Audio Recorder.
Interfàcia Audio Recorder.
← Totas las guidas Bubble Native

Xodera Plugins · Bubble Native

Xodera Audio Recorder Native

Permetètz a las personas d'enregistrar una nòta vocala, de l'escotar abans de l'enviar e de gardar un borrolhon local. Cargatz l'enregistrament sonque quand causisson de l'enviar.

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.

Documentacion revisada 6 novèmber 2026

Exemples practics

Escotar abans d’enviar un messatge vocal pas confidencial

Los utilizaires an besonh d’una oportunitat per escotar e remplaçar un enregistrament abans qu’esdeca un pèça junta.

`title = the app’s conversation label` ; definís `max_duration_seconds` e `max_upload_bytes` segon la tòta politica de messatge.

Start recording → Stop recording → esperatz `recording_ready` → Play preview. Prepausatz Seek preview e Set preview speed. Sonque un Send explicit lança Upload to Bubble sus l'adreça de cargament acceptada de vòstra pròpria aplicacion.

Solament sus `upload_succeeded`, crea lo teu Message e definís son camp àudio a `uploaded_file`. Lo messatge es pas creat pel enregistrador en el.

En cas de refus del micròfon, mostra `permission_status` ; en cas d’error d’enviament, conserva l’enregistrament local. Verifica lo resultat d’un enviament desconegut abans de tornar ensajar, de tal biais que Enviar pòsca pas crear de pèças juntas/messatges duplicats.

L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.

Practica de prononciacion sens enviament immediat

Los aprenents vòlon comparar lor pròpria responsa parlada amb una lecion abans de decidir de la sometre.

`title = Current Exercise’s prompt` ; `max_duration_seconds = the exercise limit` ; una responsa d’exercici demòra un enregistrament possedit per l’aplicacion.

Enregistratz → arrestatz → Play preview. Permetètz a l'aprenent de se desplaçar dins l'enregistrament, de ralentir l'apercebut o d'anullar e enregistrar una autra temptativa. Utilizatz Save locally sonque quand causís de gardar lo borrolhon.

`duration`, `local_uri`, `mime_type` e `draft_id` descriven la temptativa. La tòta aplicacion decide se demòra local o se somet ulteriorament a travèrs lo flux d’enviament qu’as causit.

Sus `preview_error`, gardatz lo borrolhon e afichatz `error_code`. Tractatz pas un apercebut o un borrolhon enregistrat coma un Answer somés fins que lo flux de somission de l'aplicacion aja capitat.

L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.

Gardatz un borrolhon vocal local e fasètz de Send una accion explicita

Un trabalhadur de camp pòt èsser interromput abans de acabar una nòta e deu pas aver d’o enviar solament per la conservar.

`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. Emmagazinatz lo `draft_id` retornat dins un estat de vòstra aplicacion limitat a aqueste aparelh e compte. Utilizatz Restore local draft pel meteis ID, puèi Play preview abans de decidir se cal cargar l'enregistrament.

Sus `local_saved` o `local_restored`, inspecciona `is_saved_locally`, `local_uri` e `duration`. Suprimís lo borrolhon salvat solament aprèp una causida explicita de l’utilizaire o aprèp una politica de retencion confirmada separatament.

Se la restauracion fracassa, mostra `error_code` e conserva l’ID per lo diagnostic; rapòrta pas un enregistrament void o diferent coma restaurat. Jamai auto‑enviament al reconnectar.

L’enviament Bubble crea un fichièr àudio public. Utilizatz pas aqueste enviament per d’enregistraments confidencials.

Qué fonciona ara

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.

Crear lo flux de trabalh

Utilizatz las accions beta disponiblas çai-jos e testatz lo resultat sus vòstres aparelhs cibla.

Aquestes exemples utilizan de registres d’aplicacion tals coma Lesson, Message e Order. Remplaçatz-los per vòstres pròpris tipes de donadas e noms d’elements. Las adreças de mèdias d’exemple devon èsser remplaçadas per vòstres pròpris fichièrs.

  1. Apondètz l'enregistrador. Definissètz document_context = Current User's unique id; definissètz is_active segon que la vista d'enregistrament es dobèrta o non.

  2. Start recording demanda la permission del microfòn. Pause e Resume mantenon la meteissa presa. Stop recording la termina; esperatz recording_ready abans de prepausar una revision o un cargament.

  3. Utilizatz los contraròtles d'apercebut per escotar. Save locally garda un borrolhon sus aqueste aparelh; aprèp local_saved, gardatz draft_id per Restore local draft.

  4. Explicatz que l’enviament crea un fichièr public. Definissètz bubble_upload_url a l’adreça de cargament de fichièrs correcta de vòstra aplicacion Bubble, Development o Live. Executatz Upload to Bubble sonque quand l’utilizaire selecciona Enviar ; al moment de upload_succeeded, enregistratz uploaded_file dins vòstre registre.

Diagrama del flux de trabalh — pas una captura d’ecran d’aplicacion

Configurar un sol còp

Creatz o causissètz vòstre projècte d’aplicacion Bubble dins BestPlugins → Dashboard → Plugins. Causissètz Xodera Audio Recorder Native, copiatz sa clau, puèi dobrissètz Bubble → Plugins → Xodera Audio Recorder Native e pegatz-la dins licensing_api_key. Enregistratz una còp ; puèi utilizatz las accions çai-jos. Cada plugin dins cada projècte a sa pròpria clau.

Demandatz la permission del micròfon quand l’utilizaire comença l’enregistrament. Causissètz coma l’aplicacion salvarà los borrèls. Lo cargament Bubble emmagazina un fichièr public, utilizatz‑lo doncas sonque per d’àudios adaptats a l’emmagazinatge public.

Configurar un sol còp
  1. Creatz o causissètz vòstre projècte d’aplicacion Bubble a BestPlugins → Dashboard → Plugins.
  2. Causissètz aqueste plugin e copiatz sa clau de projècte.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Apondètz l’element, causissètz vòstras donadas d’aplicacion e construïtz lo flux de trabalh çai-jos.
  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.
Installacion e abonament

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.

Enregistrar lo resultat dins vòstra aplicacion

Aprèp upload_succeeded, definissètz VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration e mime_type = Recorder's mime_type. draft_id restaura un borrolhon sus aqueste aparelh; es pas un fichièr àudio en linha.

Fracàs, anullacion e recuperacion

Se l’accès al micròfon es refusat, explicatz coma l’activar dins los paramètres de l’aparelh. Cancel recording escarta la presa pas salvada ; los borrèls salvats demòran. Se un cargament es interromput, gardatz l’enregistrament local e verificatz se lo fichièr es arribat abans de lo tornar enviar. Delete saved draft suprimís sonque lo borrèl salvad seleccionat.

Capacitats e limits

Durada maximala per defaut de l'enregistrament: 300 segondas; configurabla 1–3600. Limit de cargament per defaut: 10 MiB; maximum 30 MiB. Temps d'espèra maximal del cargament: 60 segondas, sens tornar ensajar automaticament. Los cargaments Bubble son publics. Sonque las adreças de cargament de fichièrs *.bubbleapps.io de vòstra pròpria aplicacion son suportadas; los domenis personalizats lo son pas. Los borrolhons locals son pas un emmagazinatge chifrat.

Paramètres, accions e resultats

Utilizatz aqueles noms dins Bubble. Las foncions planificadas son marcadas separadament.

Paramètres beta disponibles

Paramètres de l’element

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

Estats

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

Eveniments

recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_error

Accions e lors entradas

Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed
Paramètres de l’element · 10
titletext · Per defaut: ""
Valor d’exempleLesson 4 — review
Exemple d'expression BubbleSelected Lesson's name
Tèxte visible de l'aplicacion; daissatz-lo void per utilizar lo tèxte integrat tradusit ont es disponible. I metatz pas d'informacions secretas d'autentificacion.
max_duration_secondsnumber · Per defaut: 300
Valor d’exemple300
Exemple d'expression BubbleVoice Settings' max_seconds
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
max_upload_bytesnumber · Per defaut: 10485760
Valor d’exemple10485760
Exemple d'expression BubbleVoice Settings' max_upload_bytes
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
is_activeyes_no · Per defaut: true
Valor d’exempleyes
Exemple d'expression BubbleGuideHost's view_is_active (your yes/no custom state)
Definissètz yes mentre aquesta vista es dobèrta. Definissètz no quand la quitatz, per que la lectura o lo trabalh en cors se pòsca arrestar.
disabledyes_no · Per defaut: false
Valor d’exempleno
Exemple d'expression BubbleGuideHost's is_busy (your yes/no custom state)
Desactivar l’element mentre vòstra aplicacion es ocupada o aquesta accion es indisponibla.
ui_text_jsontext · Per defaut: ""
Valor d’exemple{}
Exemple d'expression BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional amb etiquetas de botonas suportadas. Daissatz void per utilizar lo tèxte integrat.
saved_draft_idtext · Per defaut: ""
Valor d’exemple<returned draft_id>
Exemple d'expression BubbleSelected VoiceDraft's draft_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
bubble_upload_urltext · Per defaut: ""
Valor d’exemplehttps://your-app.bubbleapps.io/version-test/fileupload
Exemple d'expression BubbleApp Settings' selected_bubble_upload_url
L’adreça de cargament de fichièrs de la tòta aplicacion Bubble : /version-test/fileupload per Development, /fileupload per Live. Aqueste cargament crea de fichièrs publics.
languagetext · Per defaut: "auto"
Valor d’exempleuk
Exemple d'expression BubbleCurrent User's preferred_language
Definissètz language=auto per seguir la lenga de l'aparelh o del navegador se aquela lenga es suportada. Entratz un còde de lenga suportat per la causir explicitament.
document_contexttext · Per defaut: ""
Valor d’exemple<current-user-id>
Exemple d'expression BubbleCurrent User's unique id
Valor establa per aqueste compte o registre. Utilizatz la meteissa valor per restaurar sos fichièrs o borrolhons enregistrats.
Accions e lors entradas · 15
Start recording

Cap de paramètre d'accion

Pause recording

Cap de paramètre d'accion

Resume recording

Cap de paramètre d'accion

Stop recording

Cap de paramètre d'accion

Cancel recording

Cap de paramètre d'accion

Save locally

Cap de paramètre d'accion

Restore local draft
draft_idtext · Per defaut: —
Valor d’exemple<returned draft_id>
Exemple d'expression BubbleSelected VoiceDraft's draft_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Delete saved draft
draft_idtext · Per defaut: —
Valor d’exemple<returned draft_id>
Exemple d'expression BubbleSelected VoiceDraft's draft_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Upload to Bubble

Cap de paramètre d'accion

Cancel upload

Cap de paramètre d'accion

Play preview

Cap de paramètre d'accion

Pause preview

Cap de paramètre d'accion

Stop preview

Cap de paramètre d'accion

Seek preview
secondsnumber · Per defaut: —
Valor d’exemple12
Exemple d'expression BubbleSelected Comment's seconds
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Set preview speed
ratenumber · Per defaut: —
Valor d’exemple1.5
Exemple d'expression BubblePreview Speed Dropdown's value
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
Estats e eveniments

Estats

recorder_status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

permission_status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

is_recording · yes_no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

is_paused · yes_no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

duration · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

local_uri · text

Emplaçament del fichièr sus aqueste aparelh. Enregistratz o cargatz lo fichièr separatament se deu èsser mantengut en linha.

draft_id · text

Identificant per aqueste element o accion. Conservar-lo amb l’enregistrament d’aplicacion correspondent. Utiliza lo meteis identificant de demanda al moment de tornar ensajar un resultat incert.

is_saved_locally · yes_no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

mime_type · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

file_size · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

waveform_peaks_json · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

preview_status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

preview_is_playing · yes_no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

preview_current_time · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

upload_status · text

Resultat actual d’aquesta accion. Utilizatz l’eveniment de fin correspondent abans d’enregistrar lo succès.

upload_progress · number

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

uploaded_url · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

uploaded_file · file

Fichièr retornat aprèp upload_succeeded. Enregistratz-lo dins vòstre camp Bubble File.

error_code · text

Informacions d'error per la darrièra accion. Afichatz un messatge util e prepausatz de tornar ensajar l'operacion pertinenta.

Eveniments

recording_started

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recording_paused

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recording_resumed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recording_stopped

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recording_ready

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recording_cancelled

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

recorder_error

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

local_saved

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

local_restored

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

local_deleted

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

upload_succeeded

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

upload_failed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

upload_cancelled

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

preview_ready

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

preview_error

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

Questions que los desvolopaires posan

Lo salvament local envia l’enregistrament ?

Non. Save locally garda un borrolhon sus l'aparelh de l'utilizaire. Upload to Bubble es una operacion publica separada e explicita.

Cossí fonciona l’abonament ?

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.

Guidas ligadas

Per obténer d’ajuda, informatz-nos quin plugin e quin aparelh utilizatz, l’accion que ensajatz e çò qu’es capitat. Utilizatz un exemple sens donadas personalas. Partajatz pas jamai vòstra clau o vòstres fichièrs privats.