Anfang
Kopieren Sie einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-audio-recorder`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/audio-recorder/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installieren
Abschnitt mit dem Titel “Installieren”Sie können unsere AI-gestützte Einrichtung verwenden, um den Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihre AI-Tool mithilfe der folgenden Befehl hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann die folgende Anfrage:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-audio-recorder` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen Plattform-spezifischen Anweisungen:
bun add @capgo/capacitor-audio-recorderbunx cap syncImportieren
Abschnitt mit dem Titel “Importieren”import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';API Übersicht
Abschnitt mit dem Titel “API Übersicht”startRecording
Abschnitt mit dem Titel “startRecording”Mit dem Geräuschammer des Geräts aufnehmen.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.startRecording();pauseRecording
Abschnitt mit dem Titel “pauseRecording”Die laufende Aufnahme pausieren. Nur auf Android (API 24+), iOS und Web verfügbar.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.pauseRecording();resumeRecording
Abschnitt mit dem Titel “resumeRecording”Eine vorherige Aufnahme fortsetzen.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.resumeRecording();stopRecording
Abschnitt mit dem Titel “stopRecording”Beenden Sie die aktuelle Aufnahme und speichern Sie die aufgenommene Audio.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.stopRecording();cancelRecording
Abschnitt mit dem Titel “cancelRecording”Beenden Sie die aktuelle Aufnahme und werfen Sie alle aufgenommenen Audio weg.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.cancelRecording();getRecordingStatus
Abschnitt mit dem Titel “getRecordingStatus”Abrufen Sie den aktuellen Aufnahmestatus.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.getRecordingStatus();getCurrentAmplitude
Abschnitt mit dem Titel “getCurrentAmplitude”Abrufen Sie den aktuellen Eingangsspannung (Mikrofonpegel) als normalisiertes
Zahl im Bereich. [0, 1] Zur Ansteuerung von Live-Visualisierungen wie VU-Meter oder Wellenformen
während der Aufnahme. Gibt zurück
Abrufen Sie den aktuellen Eingangsspannung (Mikrofonpegel) als normalisiertes
Zahl im Bereich. Intended for driving live visualizations such as VU meters or waveforms
while recording. Returns 0 wenn keine Aufzeichnung aktiv ist. Entworfen für
UI-rate-Polling — ein 60–100 ms-Interval ist ein guter Ausgangspunkt für eine
Wellenform. Vermeide es, es in einem engen Schleifen aufzurufen; jeder Aufruf überschreitet
JS/native Bridge.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.getCurrentAmplitude();checkPermissions
Abschnitt mit dem Titel “checkPermissions”Gibt den aktuellen Zustand der Berechtigung für den Zugriff auf das Mikrofon zurück.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.checkPermissions();requestPermissions
Abschnitt mit dem Titel “requestPermissions”Berechtigung zum Zugriff auf das Mikrofon anfordern.
import { CapacitorAudioRecorder } from '@capgo/capacitor-audio-recorder';
await CapacitorAudioRecorder.requestPermissions();Typenverweis
Abschnitt mit dem Titel “Typenverweis”StartRecordingOptions
Abschnitt mit dem Titel “StartRecordingOptions”Optionen, die von . akzeptiert werden.
export interface StartRecordingOptions { /** * The audio session category options for recording. Only available on iOS. * * @since 1.0.0 */ audioSessionCategoryOptions?: AudioSessionCategoryOption[];
/** * The audio session mode for recording. Only available on iOS. * * @since 1.0.0 */ audioSessionMode?: AudioSessionMode;
/** * The audio bit rate in bytes per second. * Only available on Android and iOS. * * @since 1.0.0 */ bitRate?: number;
/** * The audio sample rate in Hz. * Only available on Android and iOS. * * @since 1.0.0 */ sampleRate?: number;}StopRecordingResult
Abschnitt mit dem Titel „StopRecordingResult“Resultat, das von . zurückgegeben wird.
export interface StopRecordingResult { /** * The recorded audio as a Blob. Only available on Web. * * @since 1.0.0 */ blob?: Blob;
/** * The duration of the recording in milliseconds. * * @since 1.0.0 */ duration?: number;
/** * The URI pointing to the recorded file. Only available on Android and iOS. * * @since 1.0.0 */ uri?: string;}GetRecordingStatusResult
Abschnitt mit dem Titel „GetRecordingStatusResult“Resultat, das von . zurückgegeben wird.
export interface GetRecordingStatusResult { /** * The current recording status. * * @since 1.0.0 */ status: RecordingStatus;}GetCurrentAmplitudeResult
Abschnitt mit dem Titel „GetCurrentAmplitudeResult“Resultat, das von . zurückgegeben wird.
export interface GetCurrentAmplitudeResult { /** * The current input amplitude normalized to the `[0, 1]` range, where `0` * represents silence and `1` represents the maximum level the platform can * report. The value is `0` when no recording is active. * * Note: the source signal differs between platforms — Android reports the * peak sample amplitude since the last call, iOS reports the average power * in dB converted to linear, and Web reports the RMS of the latest frame. * Consumers that need cross-platform parity may want to apply a * per-platform scaling curve. * * @since 8.1.0 */ value: number;}PermissionStatus
Abschnitt mit dem Titel „PermissionStatus“Zurückgegebene Informationen zur Berechtigung durch und .
export interface PermissionStatus { /** * The permission state for audio recording. * * @since 1.0.0 */ recordAudio: PermissionState;}RecordingErrorEvent
Abschnitt mit dem Titel “RecordingErrorEvent”Wird ausgelöst, wenn während der Aufzeichnung ein Fehler auftritt.
export interface RecordingErrorEvent { /** * The error message. * * @since 1.0.0 */ message: string;}RecordingStoppedEvent
Abschnitt mit dem Titel “RecordingStoppedEvent”Wird ausgelöst, wenn eine Aufzeichnung abgeschlossen ist.
export type RecordingStoppedEvent = StopRecordingResult;AudioSessionCategoryOption
Abschnitt mit dem Titel “AudioSessionCategoryOption”Verfügbare Audio-Sitzungskategorienoptionen auf iOS.
export enum AudioSessionCategoryOption { AllowAirPlay = 'ALLOW_AIR_PLAY', AllowBluetooth = 'ALLOW_BLUETOOTH', AllowBluetoothA2DP = 'ALLOW_BLUETOOTH_A2DP', DefaultToSpeaker = 'DEFAULT_TO_SPEAKER', DuckOthers = 'DUCK_OTHERS', InterruptSpokenAudioAndMixWithOthers = 'INTERRUPT_SPOKEN_AUDIO_AND_MIX_WITH_OTHERS', MixWithOthers = 'MIX_WITH_OTHERS', OverrideMutedMicrophoneInterruption = 'OVERRIDE_MUTED_MICROPHONE_INTERRUPTION',}AudioSessionMode
Abschnitt mit dem Titel “AudioSessionMode”Verfügbare Audio-Sitzungsmode auf iOS.
export enum AudioSessionMode { Default = 'DEFAULT', GameChat = 'GAME_CHAT', Measurement = 'MEASUREMENT', SpokenAudio = 'SPOKEN_AUDIO', VideoChat = 'VIDEO_CHAT', VideoRecording = 'VIDEO_RECORDING', VoiceChat = 'VOICE_CHAT',}RecordingStatus
Abschnitt mit dem Titel “Aufzeichnungsstatus”Der Aufzeichnungsstatus.
export enum RecordingStatus { Inactive = 'INACTIVE', Recording = 'RECORDING', Paused = 'PAUSED',}PermissionState
Abschnitt mit dem Titel “Zustand der Erlaubnis”Plattformzustände der Erlaubnis, die von Capacitor unterstützt werden.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Quelle der Wahrheit
Abschnitt mit dem Titel “Quelle der Wahrheit”Diese Seite wird aus dem Plugin generiert. src/definitions.tsWenn sich die öffentliche API upstream ändert, führen Sie die Synchronisierung erneut durch.
Fortsetzen von Getting Started
Abschnitt mit dem Titel „Weiter von Getting Started“Wenn Sie Getting Started benutzen, um native Medien und Schnittstellenverhalten zu planen, verbinden Sie es mit Mit @capgo/capacitor-audio-recorder für die native Fähigkeit in Mit @capgo/capacitor-audio-recorder, Mit @capgo/capacitor-live-activities für die native Fähigkeit in Mit @capgo/capacitor-live-activities, @capgo/capacitor-live-activities für die Implementierungsdetails in @capgo/capacitor-live-activities, Mit @capgo/capacitor-video-player für die native Fähigkeit in Mit @capgo/capacitor-video-player, und @capgo/capacitor-Video-Player für die Implementierungsdetails in @capgo/capacitor-Video-Player.