---
title: Announcing the Capacitor Audio Recorder Plugin
description: The Capacitor Audio Recorder plugin allows you to record audio in your Capacitor app with cross-platform support for Android, iOS, and web.
date: 
  created: 2025-03-31
  updated: 2026-07-14
authors:
  - robingenz
categories:
  - Announcements
  - Capacitor
  - SDKs
links:
  - Capacitor Audio Recorder: sdks/capacitor/audio-recorder.md
faq: true
---

# Capacitor Audio Recorder Plugin: Record Audio

Need to capture microphone audio in a Capacitor app — voice notes, audio messages, or an in-app recorder? The [Capacitor Audio Recorder plugin](../../sdks/capacitor/audio-recorder.md) handles recording, pausing, and resuming through a single API, with cross-platform support for Android, iOS, and web. It's available to all Capawesome [Insiders](../../insiders/index.md).

<!-- more -->

Let's take a quick look at the [API](../../sdks/capacitor/audio-recorder.md#api) and how you can use the plugin to record audio.

## Installation

To install the Capacitor Audio Recorder plugin, please refer to the [Installation](../../sdks/capacitor/audio-recorder.md/#installation) section in the plugin documentation.

## Usage

Let's take a look at the basic usage of the plugin.

### Start recording

You can immediately start recording audio with the [`startRecording()`](../../sdks/capacitor/audio-recorder.md#startrecording) method:

```typescript
import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";

const startRecording = async () => {
  await AudioRecorder.startRecording();
};
```

There are no additional parameters required.

### Pause recording

You can pause the recording at any time with the [`pauseRecording()`](../../sdks/capacitor/audio-recorder.md#pauserecording) method:

```typescript
import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";

const pauseRecording = async () => {
  await AudioRecorder.pauseRecording();
};
```

### Resume recording

After pausing the recording, you can resume it with the [`resumeRecording()`](../../sdks/capacitor/audio-recorder.md#resumerecording) method:

```typescript
import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";

const resumeRecording = async () => {
  await AudioRecorder.resumeRecording();
};
```

### Stop recording

Finally, you can stop the recording with the [`stopRecording()`](../../sdks/capacitor/audio-recorder.md#stoprecording) method:

```typescript
import { AudioRecorder } from '@capawesome-team/capacitor-audio-recorder';
import { NativeAudio } from '@capacitor-community/native-audio';

const stopRecording = async () => {
  // Stop recording and get the audio blob or URI
  const { blob, uri } = await AudioRecorder.stopRecording();
  // Play the audio
  if (blob) {
    // Only available on Web
    const audio = new Audio();
    audio.src = URL.createObjectURL(blob);
    audio.play();
  } else if (uri) {
    // Only available on Android and iOS
    await NativeAudio.preload({
      assetId: 'recording',
      assetPath: uri,
      isUrl: true,
    });
    await NativeAudio.play({ assetId: 'recording' });
  }
};
```

This method returns a `blob` or `uri` depending on the platform. The `blob` is only available on web, while the `uri` is only available on Android and iOS. 
You can then upload the audio file to your server or play it back in your app.

### Get recording status

Additionally, you can check the recording status at any time with the [`getRecordingStatus()`](../../sdks/capacitor/audio-recorder.md#getrecordingstatus) method:

```typescript
import { AudioRecorder } from "@capawesome-team/capacitor-audio-recorder";

const getRecordingStatus = async () => {
  const { status } = await AudioRecorder.getRecordingStatus();
  console.log("Recording status:", status);
};
```

This method returns the current recording status, which can be either `INACTIVE`, `RECORDING` or `PAUSED`.

## FAQ

### Does the Capacitor Audio Recorder plugin work on the web?

Yes. The plugin supports Android, iOS, and the web. When you stop a recording, `stopRecording()` returns a `blob` on the web and a file `uri` on Android and iOS, so you can handle the result on whichever platform your app runs on.

### Can I pause and resume a recording?

Yes. Call `pauseRecording()` to pause and `resumeRecording()` to continue the same recording. You can check the current state at any time with `getRecordingStatus()`, which returns `INACTIVE`, `RECORDING`, or `PAUSED`.

### How do I play back or upload the recorded audio?

`stopRecording()` returns a `blob` on the web and a file `uri` on Android and iOS. On the web you can play the blob with an `Audio` element; on Android and iOS you can play the file with a native audio plugin or upload it to your server.

### Is the Capacitor Audio Recorder plugin free to use?

The plugin is available to all Capawesome [Insiders](../../insiders/index.md). See the [plugin documentation](../../sdks/capacitor/audio-recorder.md) for the latest details on access and installation.

### How do I handle interruptions, silent mode, and volume while recording?

Audio apps rarely live in isolation — a phone call can interrupt you, the device might be muted, and users expect the hardware buttons to work. A few companion plugins cover these cases: the [Capacitor Audio Session plugin](../../sdks/capacitor/audio-session.md) lets you configure the iOS audio session category and mode and listen for interruptions, the [Capacitor Silent Mode plugin](../../sdks/capacitor/silent-mode.md) detects whether the device is in silent mode so you can warn the user before recording or playback, and the [Capacitor Volume plugin](../../sdks/capacitor/volume.md) gets and sets the volume level and observes hardware volume button presses.

## Conclusion

The [Capacitor Audio Recorder plugin](../../sdks/capacitor/audio-recorder.md) gives you a small, consistent API for recording audio across Android, iOS, and web — start, pause, resume, stop, and check status, without writing platform-specific glue code.

**Related reading:**

- [Exploring the Capacitor Audio Recorder API](./exploring-the-capacitor-audio-recorder-api.md) — a closer look at the API in practice
- [How to Play Audio in the Background in a Capacitor App](./how-to-play-audio-in-the-background-in-capacitor.md) — play your recordings with lock screen controls and background support
- [API Reference](../../sdks/capacitor/audio-recorder.md#api) — the full method and type reference

**Missing a feature?** [Create a feature request](https://github.com/capawesome-team/capacitor-plugins/issues/new/choose){:target="_blank"} in our [GitHub repository](https://github.com/capawesome-team/capacitor-plugins){:target="_blank"}.

Join the Capawesome [Discord](https://discord.gg/VCXxSVjefW){:target="_blank"} server for questions and subscribe to the Capawesome [newsletter](https://capawesome.io/newsletter/){:target="_blank"} to stay updated.
