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.

ドキュメント確認日:2026年11月6日

実用的な例

機密でない音声メッセージを送信する前に聞く

ユーザーは録音を聞いて差し替える機会が必要です。添付になる前に。

`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 を提供する。明示的な Send のみが、受け入れられた自アプリのアップロードエンドポイントで Upload to Bubble を呼び出す。

`upload_succeeded` のみで、Message を作成し、その audio フィールドを `uploaded_file` に設定してください。メッセージはレコーダー自体によって作成されません。

マイクが拒否された場合は `permission_status` を表示し、アップロード失敗時はローカル録音を保持します。再試行前に不明なアップロードの結果を確認し、Send が重複した添付ファイル/メッセージを作成できないようにします。

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` を表示します。プレビューや保存されたドラフトを、アプリの送信フローが成功するまで送信済みの Answerに変換しないでください。

Bubble のアップロードは公開音声ファイルを作成します。機密録音にはこのアップロードを使用しないでください。

ローカル音声ドラフトを保持し、Send を明示的に行う

現場作業員はメモを完了する前に中断されることがあり、保存だけのためにアップロードしなければならないべきではありません。

`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` をデバイス/アカウントスコープの状態に保存します。同じ ID には Restore local draft を使用し、アップロードするかどうか決める前に Play preview を行います。

`local_saved` または `local_restored` の際、`is_saved_locally`、`local_uri`、`duration` を検査します。明示的なユーザー選択または別途確認された保持ポリシーの後にのみ、保存されたドラフトを削除してください。

復元に失敗した場合は `error_code` を表示し、診断のために ID を保持します。空の録音や別の録音を復元済みとして報告しないでください。再接続時に 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. BestPlugins → Dashboard → Plugins で Bubble アプリプロジェクトを作成または選択してください。
  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)
このビューが開いている間はyesに設定し、離れる際はnoに設定して、再生や現在の作業を停止できるようにします。
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 アプリのファイルアップロードアドレス: Development 用に /version-test/fileupload、Live 用に /fileupload。 このアップロードは公開ファイルを作成します。
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.

関連ガイド

サポートが必要な場合は、使用しているプラグインとデバイス、試したアクションと結果をお知らせください。個人データを含まない例を使用してください。キーやプライベートファイルを決して共有しないでください。