# AudioRecordingButton

`AudioRecordingButton` is the mic button for starting/controlling recording gestures.

Internally it handles press/long-press gesture logic, slide-to-cancel and slide-to-lock thresholds, permission prompts, and haptic feedback.

## Props

### `buttonSize`

Mic button size.

| Type     |
| -------- |
| `number` |

### `handleLongPress`

Custom long-press handler.

| Type         |
| ------------ |
| `() => void` |

### `handlePress`

Custom press handler.

| Type         |
| ------------ |
| `() => void` |

### `cancellableDuration`

Controls whether recording can be canceled by duration/gesture behavior.

| Type      |
| --------- |
| `boolean` |

### Context-backed override props

- `asyncMessagesMinimumPressDuration`
- `asyncMessagesSlideToCancelDistance`
- `asyncMessagesLockDistance`
- `audioRecordingSendOnComplete`
- `audioRecorderManager`
- `startVoiceRecording`
- `deleteVoiceRecording`
- `uploadVoiceRecording`
- `recording`
- `status`


---

This page was last updated at 2026-04-03T17:24:32.140Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/v9/ui-components/message-composer/components/audio-recorder/audio-recording-button/](https://getstream.io/chat/docs/sdk/react-native/v9/ui-components/message-composer/components/audio-recorder/audio-recording-button/).