# 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

| Prop                  | Description                                                              | Type         |
| --------------------- | ------------------------------------------------------------------------ | ------------ |
| `buttonSize`          | Mic button size.                                                         | `number`     |
| `handleLongPress`     | Custom long-press handler.                                               | `() => void` |
| `handlePress`         | Custom press handler.                                                    | `() => void` |
| `cancellableDuration` | Controls whether recording can be canceled by duration/gesture behavior. | `boolean`    |

### Context-backed override props

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


---

This page was last updated at 2026-04-17T17:33:46.073Z.

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