Audio Recorder-grænseflade.
Audio Recorder-grænseflade.
← Alle indfødte vejledninger

Xodera Plugins · Bubble Native

Xodera Audio Recorder Native

Lad brugere optage en talebesked, lytte før afsendelse og beholde et lokalt udkast. Upload kun, når de vælger at sende optagelsen.

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.

Dokumentation gennemgået 6 november 2026

Praktiske eksempler

Lyt, før du sender en ikke‑fortrolig stemmebesked

Brugerne skal have mulighed for at høre og erstatte en optagelse, før den bliver vedhæftet.

`title = the app’s conversation label`; indstil `max_duration_seconds` og `max_upload_bytes` til din meddelelsespolitik.

Start recording → Stop recording → vent på `recording_ready` → Play preview. Tilbyd Seek preview og Set preview speed. Kun en eksplicit Send udløser Upload to Bubble på den accepterede egen‑app‑upload‑endpoint.

Kun på `upload_succeeded` oprettes din Message, og dens lydfelt sættes til `uploaded_file`. Beskeden oprettes ikke af optageren selv.

Ved afvisning af mikrofon vis `permission_status`; ved upload‑fejl behold den lokale optagelse. Kontroller resultatet af en ukendt upload, før du prøver igen, så Send ikke kan oprette dublerede vedhæftninger/beskeder.

Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.

Udtaleøvelse uden umiddelbar upload

Elever vil sammenligne deres egen talte respons med en lektion, før de beslutter at indsende den.

`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; et øvelsessvar forbliver en app‑ejet post.

Optag → Stop → Play preview. Lad eleven søge, sænke forhåndsvisningen eller annullere og optage et nyt forsøg. Save locally kun når de vælger at beholde kladden.

`duration`, `local_uri`, `mime_type` og `draft_id` beskriver forsøget. Din app bestemmer, om det forbliver lokalt eller senere indsendes via din valgte upload‑workflow.

På `preview_error` bevar kladden og vis `error_code`. Gør ikke en forhåndsvisning eller gemt kladde til et indsendt svar, før appens indsendelses‑workflow lykkes.

Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.

Bevar en lokal stemmekladde og gør Send eksplicit

En medarbejder i felten kan blive afbrudt, før notatet er færdigt, og bør ikke skulle uploade det blot for at gemme det.

`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. Gem den returnerede `draft_id` i din egen enheds‑/konto‑scopede tilstand. Brug Restore local draft til samme ID, derefter Play preview, før du beslutter om upload.

På `local_saved` eller `local_restored`, inspicer `is_saved_locally`, `local_uri` og `duration`. Slet kun den gemte kladde efter eksplicit brugervalg eller efter en separat bekræftet opbevaringspolitik.

Hvis gendannelse fejler, vis `error_code` og behold ID‑et til diagnose; rapportér ikke en tom eller anden optagelse som gendannet. Udfør aldrig auto‑upload ved genforbindelse.

Bubble‑upload opretter en offentlig lydfil. Brug ikke denne upload til fortrolige optagelser.

Hvad der virker nu

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.

Byg arbejdsprocessen

Brug de tilgængelige beta-handlinger nedenfor og test resultatet på dine målrettede enheder.

Denne eksempler bruger app‑poster såsom Lesson, Message og Order. Erstat dem med dine egne datatyper og elementnavne. Eksempelmedie‑adresser skal erstattes med dine egne filer.

  1. Tilføj optageren. Indstil document_context = Current User's unique id og is_active til om optagevisningen er åben.

  2. Start recording beder om mikrofonadgang. Pause og Genoptag bevarer den samme optagelse. Stop recording afslutter den; vent på recording_ready, før du tilbyder gennemgang eller upload.

  3. Brug forhåndsvisningskontrollerne til at lytte. Save locally gemmer et udkast på denne enhed; efter local_saved skal du beholde draft_id til Restore local draft.

  4. Forklar at afsendelse opretter en offentlig fil. Indstil bubble_upload_url til din egen Bubble apps korrekte Development eller Live fil‑upload‑adresse. Kør Upload to Bubble kun når brugeren vælger Send; ved upload_succeeded skal du gemme uploaded_file i din post.

Arbejdsgangsdiagram — ikke et app‑skærmbillede

Konfigurer én gang

Opret eller vælg dit Bubble app‑projekt i BestPlugins → Dashboard → Plugins. Vælg Xodera Audio Recorder Native, kopier dens nøgle, åbn derefter Bubble → Plugins → Xodera Audio Recorder Native og indsæt den i licensing_api_key. Gem én gang; brug derefter handlingerne nedenfor. Hvert plugin i hvert projekt har sin egen nøgle.

Bed om mikrofonadgang, når brugeren starter optagelse. Vælg hvordan appen gemmer kladder. Bubble‑upload gemmer en offentlig fil, så brug den kun til lyd, der er egnet til offentlig lagring.

Konfigurer én gang
  1. Opret eller vælg dit Bubble app-projekt på BestPlugins → Dashboard → Plugins.
  2. Vælg dette plugin og kopier dets projekt-nøgle.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Tilføj elementet, vælg dine app-data og opbyg arbejdsflowet nedenfor.
  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.
Installation og abonnement

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.

Gem resultatet i din app

Efter upload_succeeded skal du indstille VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration og mime_type = Recorder's mime_type. draft_id gendanner et udkast på denne enhed; det er ikke en online lydfil.

Fejl, annullering og genoprettelse

Hvis mikrofonadgang nægtes, forklar hvordan den aktiveres i enhedens indstillinger. Cancel recording forkaster den ikke-gemte optagelse; gemte kladder forbliver. Hvis en upload afbrydes, behold den lokale optagelse og tjek om filen er ankommet, før du sender den igen. Delete saved draft fjerner kun det valgte gemte udkast.

Kapaciteter og begrænsninger

Standard maksimal optagelse: 300 sekunder; konfigurerbar 1–3600. Standard upload‑grænse: 10 MiB; maksimum 30 MiB. Upload‑timeout: 60 sekunder, uden automatisk genforsøg. Bubble‑uploads er offentlige. Kun dine egne *.bubbleapps.io fil‑upload‑adresser understøttes; brugerdefinerede domæner gør det ikke. Lokale kladder er ikke krypteret lagring.

Indstillinger, handlinger og resultater

Brug disse navne i Bubble. Planlagte funktioner er markeret separat.

Tilgængelige beta‑indstillinger

Elementindstillinger

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

Tilstande

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

Begivenheder

recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_error

Handlinger og deres input

Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed
Elementindstillinger · 10
titletext · Standard: ""
EksempelværdiLesson 4 — review
Eksempel Bubble udtrykSelected Lesson's name
Synlig app-tekst; tom bruger indbygget lokaliseret tekst, hvor den understøttes. Ingen legitimationsoplysninger.
max_duration_secondsnumber · Standard: 300
Eksempelværdi300
Eksempel Bubble udtrykVoice Settings' max_seconds
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
max_upload_bytesnumber · Standard: 10485760
Eksempelværdi10485760
Eksempel Bubble udtrykVoice Settings' max_upload_bytes
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
is_activeyes_no · Standard: true
Eksempelværdiyes
Eksempel Bubble udtrykGuideHost's view_is_active (your yes/no custom state)
Sæt ja, mens denne visning er åben. Sæt nej ved afslutning, så afspilning eller aktuelt arbejde kan stoppe.
disabledyes_no · Standard: false
Eksempelværdino
Eksempel Bubble udtrykGuideHost's is_busy (your yes/no custom state)
Deaktivér elementet, mens din app er optaget eller handlingen er utilgængelig.
ui_text_jsontext · Standard: ""
Eksempelværdi{}
Eksempel Bubble udtrykApp Settings' player_labels_json (supported keys only)
Valgfri JSON med understøttede knapetiketter. Lad stå tomt for at bruge den indbyggede tekst.
saved_draft_idtext · Standard: ""
Eksempelværdi<returned draft_id>
Eksempel Bubble udtrykSelected VoiceDraft's draft_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
bubble_upload_urltext · Standard: ""
Eksempelværdihttps://your-app.bubbleapps.io/version-test/fileupload
Eksempel Bubble udtrykApp Settings' selected_bubble_upload_url
Din egen Bubble app‑fil‑upload‑adresse: /version-test/fileupload for Development, /fileupload for Live. Denne upload opretter offentlige filer.
languagetext · Standard: "auto"
Eksempelværdiuk
Eksempel Bubble udtrykCurrent User's preferred_language
Sæt language=auto til at følge en understøttet enhed eller browsersprog. Indtast en understøttet sprogkode for at vælge den eksplicit.
document_contexttext · Standard: ""
Eksempelværdi<current-user-id>
Eksempel Bubble udtrykCurrent User's unique id
Stabil værdi for denne konto eller post. Brug den samme værdi, når du gendanner dens gemte filer eller kladder.
Handlinger og deres input · 15
Start recording

Ingen handlingsparametre

Pause recording

Ingen handlingsparametre

Resume recording

Ingen handlingsparametre

Stop recording

Ingen handlingsparametre

Cancel recording

Ingen handlingsparametre

Save locally

Ingen handlingsparametre

Restore local draft
draft_idtext · Standard: —
Eksempelværdi<returned draft_id>
Eksempel Bubble udtrykSelected VoiceDraft's draft_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Delete saved draft
draft_idtext · Standard: —
Eksempelværdi<returned draft_id>
Eksempel Bubble udtrykSelected VoiceDraft's draft_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Upload to Bubble

Ingen handlingsparametre

Cancel upload

Ingen handlingsparametre

Play preview

Ingen handlingsparametre

Pause preview

Ingen handlingsparametre

Stop preview

Ingen handlingsparametre

Seek preview
secondsnumber · Standard: —
Eksempelværdi12
Eksempel Bubble udtrykSelected Comment's seconds
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Set preview speed
ratenumber · Standard: —
Eksempelværdi1.5
Eksempel Bubble udtrykPreview Speed Dropdown's value
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Tilstande og hændelser

Tilstande

recorder_status · text

Nuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.

permission_status · text

Nuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.

is_recording · yes_no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

is_paused · yes_no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

duration · number

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

local_uri · text

Filplacering på denne enhed. Gem eller upload filen separat, hvis den skal holdes online.

draft_id · text

Identifikator for dette element eller handling. Bevar den sammen med den tilsvarende app‑post. Brug den samme anmodnings‑identifikator ved gentagelse af et usikkert resultat.

is_saved_locally · yes_no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

mime_type · text

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

file_size · number

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

waveform_peaks_json · text

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

preview_status · text

Nuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.

preview_is_playing · yes_no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

preview_current_time · number

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

upload_status · text

Nuværende resultat af denne handling. Brug den tilsvarende afslutnings‑begivenhed før gemning af succes.

upload_progress · number

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

uploaded_url · text

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

uploaded_file · file

Fil returneret efter upload_succeeded. Gem den i dit Bubble-filfelt.

error_code · text

Fejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.

Begivenheder

recording_started

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recording_paused

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recording_resumed

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recording_stopped

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recording_ready

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recording_cancelled

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

recorder_error

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

local_saved

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

local_restored

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

local_deleted

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

upload_succeeded

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

upload_failed

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

upload_cancelled

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

preview_ready

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

preview_error

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

Spørgsmål udviklere stiller

Uploader lokal gemning optagelsen?

Nej. Save locally gemmer et udkast på den ejede enhed. Upload to Bubble er en separat eksplicit offentlig handling.

Hvordan fungerer abonnementet?

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.

Relaterede vejledninger

For hjælp, fortæl os, hvilket plugin og hvilken enhed du bruger, hvilken handling du forsøgte, og hvad der skete. Brug et eksempel uden personlige data. Del aldrig din nøgle eller private filer.