Audio Recorder-interface.
Audio Recorder-interface.
← Alle native gidsen

Xodera Plugins · Bubble Native

Xodera Audio Recorder Native

Laat mensen een spraaknotitie opnemen, beluisteren vóór het verzenden en een lokaal concept bewaren. Upload alleen wanneer ze ervoor kiezen de opname te verzenden.

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.

Documentatie beoordeeld 6 november 2026

Praktische voorbeelden

Luister voordat u een niet‑vertrouwelijk spraakbericht verzendt.

Gebruikers moeten de mogelijkheid hebben om een opname te beluisteren en te vervangen voordat deze een bijlage wordt.

`title = the app’s conversation label`; stel `max_duration_seconds` en `max_upload_bytes` in op uw berichtbeleid.

Start recording → Stop recording → wacht op `recording_ready` → Play preview. Bied Seek preview en Set preview speed aan. Alleen een expliciete Verzenden activeert Upload to Bubble op het geaccepteerde eigen‑app‑upload‑endpoint.

Alleen bij `upload_succeeded`, maak uw Message aan en stel het audio‑veld in op `uploaded_file`. Het bericht wordt niet door de recorder zelf aangemaakt.

Bij weigering van de microfoon toon `permission_status`; bij upload‑fout bewaar de lokale opname. Controleer het resultaat van een onbekende upload voordat u het opnieuw probeert, zodat Verzenden geen dubbele bijlagen/berichten kan aanmaken.

Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.

Uitspraak oefenen zonder directe upload

Leerlingen willen hun eigen gesproken reactie vergelijken met een les voordat ze besluiten deze in te dienen.

`title = Current Exercise’s prompt`; `max_duration_seconds = the exercise limit`; een oefenantwoord blijft een app‑eigen record.

Opnemen → Stop → Play preview. Laat de leerling zoeken, de preview vertragen of annuleren en een nieuwe poging opnemen. Save locally alleen wanneer ze ervoor kiezen het concept te behouden.

`duration`, `local_uri`, `mime_type` en `draft_id` beschrijven de poging. Uw app beslist of deze lokaal blijft of later wordt ingediend via uw gekozen uploadworkflow.

Op `preview_error`, bewaar het concept en toon `error_code`. Maak van een preview of opgeslagen concept geen ingediende Antwoord totdat de indieningsworkflow van de app slaagt.

Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.

Bewaar een lokaal stemconcept en maak Verzenden expliciet

Een veldwerker kan onderbroken worden voordat hij een notitie voltooit en mag deze niet moeten uploaden alleen om deze te behouden.

`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. Sla de geretourneerde `draft_id` op in uw eigen apparaat/account‑specifieke status. Gebruik Restore local draft voor dezelfde ID, daarna Play preview voordat u beslist te uploaden.

Op `local_saved` of `local_restored`, inspecteer `is_saved_locally`, `local_uri` en `duration`. Verwijder het opgeslagen concept alleen na expliciete gebruikerskeuze of na een apart bevestigde retentie‑policy.

Als herstel mislukt, toon `error_code` en bewaar de ID voor diagnose; rapporteer geen lege of andere opname als hersteld. Voer nooit auto-upload uit bij opnieuw verbinden.

Bubble-upload maakt een openbaar audiobestand. Gebruik deze upload niet voor vertrouwelijke opnamen.

Wat nu werkt

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.

Bouw de workflow

Gebruik de beschikbare bèta-acties hieronder en test het resultaat op uw doelapparaten.

Deze voorbeelden gebruiken app‑records zoals Lesson, Message en Order. Vervang ze door uw eigen gegevenstypen en elementnamen. Voorbeeld‑mediapaden moeten worden vervangen door uw eigen bestanden.

  1. Voeg de recorder toe. Stel document_context = Current User's unique id en is_active in op of de opname‑weergave geopend is.

  2. Start recording vraagt om microfoon‑toestemming. Pauzeren en hervatten behouden dezelfde opname. Stop recording beëindigt deze; wacht op recording_ready voordat u beoordeling of upload aanbiedt.

  3. Gebruik de preview‑besturingselementen om te luisteren. Save locally bewaart een concept op dit apparaat; na local_saved, bewaar draft_id voor Restore local draft.

  4. Leg uit dat verzenden een openbaar bestand maakt. Stel bubble_upload_url in op het juiste Development‑ of Live‑bestand‑uploadadres van uw eigen Bubble‑app. Voer Upload to Bubble alleen uit wanneer de gebruiker Verzenden kiest; bij upload_succeeded, sla uploaded_file op in uw record.

Workflow‑diagram — geen appscreenshot

Eenmalig configureren

Maak of kies uw Bubble app‑project in BestPlugins → Dashboard → Plugins. Kies Xodera Audio Recorder Native, kopieer de sleutel, open vervolgens Bubble → Plugins → Xodera Audio Recorder Native en plak deze in licensing_api_key. Sla één keer op; gebruik daarna de acties hieronder. Elke plug‑in in elk project heeft zijn eigen sleutel.

Vraag om microfoon‑toestemming wanneer de gebruiker begint op te nemen. Kies hoe de app concepten opslaat. Bubble‑upload slaat een openbaar bestand op, dus gebruik het alleen voor audio die geschikt is voor openbare opslag.

Eenmalig configureren
  1. Maak of kies uw Bubble app‑project op BestPlugins → Dashboard → Plugins.
  2. Kies deze plug‑in en kopieer de projectsleutel.
  3. Open Bubble → Plugins → this plugin. Paste its project key into licensing_api_key and save.
  4. Voeg het element toe, kies uw app‑gegevens en bouw de workflow hieronder.
  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.
Installatie en 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.

Sla het resultaat op in je app

Na upload_succeeded, stel VoiceMessage.audio = Recorder's uploaded_file, owner = Current User, duration = Recorder's duration en mime_type = Recorder's mime_type in. draft_id herstelt een concept op dit apparaat; het is geen online audiobestand.

Fout, annulering en herstel

Als microfoon‑toegang wordt geweigerd, leg dan uit hoe u dit in de apparaatinstellingen inschakelt. Cancel recording verwijdert de niet‑opgeslagen opname; opgeslagen concepten blijven behouden. Als een upload wordt onderbroken, bewaar de lokale opname en controleer of het bestand is aangekomen voordat u het opnieuw verzendt. Delete saved draft verwijdert alleen het geselecteerde opgeslagen concept.

Mogelijkheden en limieten

Standaard maximale opname: 300 seconden; configureerbaar 1–3600. Standaard uploadlimiet: 10 MiB; maximaal 30 MiB. Uploadtime-out: 60 seconden, zonder automatische herpoging. Bubble-uploads zijn openbaar. Alleen uw eigen *.bubbleapps.io bestands‑uploadadressen worden ondersteund; aangepaste domeinen niet. Lokale concepten zijn geen versleutelde opslag.

Instellingen, acties en resultaten

Gebruik deze namen in Bubble. Geplande functies worden apart gemarkeerd.

Beschikbare bètainstellingen

Elementinstellingen

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

Statussen

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

Evenementen

recording_startedrecording_pausedrecording_resumedrecording_stoppedrecording_readyrecording_cancelledrecorder_errorlocal_savedlocal_restoredlocal_deletedupload_succeededupload_failedupload_cancelledpreview_readypreview_error

Acties en hun invoer

Start recordingPause recordingResume recordingStop recordingCancel recordingSave locallyRestore local draftDelete saved draftUpload to BubbleCancel uploadPlay previewPause previewStop previewSeek previewSet preview speed
Elementinstellingen · 10
titletext · Standaard: ""
VoorbeeldwaardeLesson 4 — review
Voorbeeld Bubble-expressieSelected Lesson's name
Zichtbare app‑tekst; leeg laat ingebouwde gelokaliseerde tekst gebruiken waar ondersteund. Geen inloggegevens.
max_duration_secondsnumber · Standaard: 300
Voorbeeldwaarde300
Voorbeeld Bubble-expressieVoice Settings' max_seconds
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
max_upload_bytesnumber · Standaard: 10485760
Voorbeeldwaarde10485760
Voorbeeld Bubble-expressieVoice Settings' max_upload_bytes
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
is_activeyes_no · Standaard: true
Voorbeeldwaardeyes
Voorbeeld Bubble-expressieGuideHost's view_is_active (your yes/no custom state)
Stel ja in zolang dit overzicht geopend is. Stel nee in bij verlaten, zodat afspelen of huidig werk kan stoppen.
disabledyes_no · Standaard: false
Voorbeeldwaardeno
Voorbeeld Bubble-expressieGuideHost's is_busy (your yes/no custom state)
Schakel het element uit terwijl uw app bezig is of deze actie niet beschikbaar is.
ui_text_jsontext · Standaard: ""
Voorbeeldwaarde{}
Voorbeeld Bubble-expressieApp Settings' player_labels_json (supported keys only)
Optionele JSON met ondersteunde knoplabels. Laat leeg om de ingebouwde tekst te gebruiken.
saved_draft_idtext · Standaard: ""
Voorbeeldwaarde<returned draft_id>
Voorbeeld Bubble-expressieSelected VoiceDraft's draft_id
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
bubble_upload_urltext · Standaard: ""
Voorbeeldwaardehttps://your-app.bubbleapps.io/version-test/fileupload
Voorbeeld Bubble-expressieApp Settings' selected_bubble_upload_url
Uw eigen Bubble app‑uploadadres: /version-test/fileupload voor Development, /fileupload voor Live. Deze upload maakt openbare bestanden aan.
languagetext · Standaard: "auto"
Voorbeeldwaardeuk
Voorbeeld Bubble-expressieCurrent User's preferred_language
Stel language=auto in om een ondersteund apparaat of browsertaal te volgen. Voer een ondersteunde taalcodes in om deze expliciet te kiezen.
document_contexttext · Standaard: ""
Voorbeeldwaarde<current-user-id>
Voorbeeld Bubble-expressieCurrent User's unique id
Stabiele waarde voor dit account of record. Gebruik dezelfde waarde bij het herstellen van opgeslagen bestanden of concepten.
Acties en hun invoer · 15
Start recording

Geen actieparameters

Pause recording

Geen actieparameters

Resume recording

Geen actieparameters

Stop recording

Geen actieparameters

Cancel recording

Geen actieparameters

Save locally

Geen actieparameters

Restore local draft
draft_idtext · Standaard: —
Voorbeeldwaarde<returned draft_id>
Voorbeeld Bubble-expressieSelected VoiceDraft's draft_id
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Delete saved draft
draft_idtext · Standaard: —
Voorbeeldwaarde<returned draft_id>
Voorbeeld Bubble-expressieSelected VoiceDraft's draft_id
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Upload to Bubble

Geen actieparameters

Cancel upload

Geen actieparameters

Play preview

Geen actieparameters

Pause preview

Geen actieparameters

Stop preview

Geen actieparameters

Seek preview
secondsnumber · Standaard: —
Voorbeeldwaarde12
Voorbeeld Bubble-expressieSelected Comment's seconds
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Set preview speed
ratenumber · Standaard: —
Voorbeeldwaarde1.5
Voorbeeld Bubble-expressiePreview Speed Dropdown's value
Gebruik de waarde van het huidige bedrijfsrecord; valideer deze tegen de onderstaande limieten.
Statussen en gebeurtenissen

Statussen

recorder_status · text

Huidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.

permission_status · text

Huidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.

is_recording · yes_no

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

is_paused · yes_no

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

duration · number

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

local_uri · text

Bestandslocatie op dit apparaat. Sla het bestand apart op of upload het als het online bewaard moet blijven.

draft_id · text

Identificatie voor dit item of deze actie. Bewaar deze bij het bijbehorende app‑record. Gebruik dezelfde verzoek‑identificatie bij het opnieuw proberen van een onzeker resultaat.

is_saved_locally · yes_no

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

mime_type · text

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

file_size · number

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

waveform_peaks_json · text

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

preview_status · text

Huidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.

preview_is_playing · yes_no

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

preview_current_time · number

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

upload_status · text

Huidig resultaat van deze actie. Gebruik het bijpassende voltooiings‑event vóór het opslaan van succes.

upload_progress · number

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

uploaded_url · text

Huidige waarde voor het geselecteerde item. Lees deze na het gerelateerde event.

uploaded_file · file

Bestand teruggegeven na upload_succeeded. Sla het op in uw Bubble‑bestandsveld.

error_code · text

Foutinformatie voor de laatste actie. Toon een nuttig bericht en bied de relevante herpoging aan.

Evenementen

recording_started

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recording_paused

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recording_resumed

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recording_stopped

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recording_ready

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recording_cancelled

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

recorder_error

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

local_saved

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

local_restored

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

local_deleted

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

upload_succeeded

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

upload_failed

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

upload_cancelled

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

preview_ready

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

preview_error

Wanneer dit evenement plaatsvindt, lees dan de gerelateerde toestanden van hetzelfde element.

Vragen die ontwikkelaars stellen

Uploadt lokale opslag de opname?

Nee. Save locally bewaart een concept op het apparaat. Upload to Bubble is een aparte expliciete openbare bewerking.

Hoe werkt het 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.

Gerelateerde handleidingen

Voor hulp, vertel ons welke plugin en welk apparaat u gebruikt, welke actie u probeerde en wat er gebeurde. Gebruik een voorbeeld zonder persoonlijke gegevens. Deel nooit uw sleutel of privé‑bestanden.