AudioAttachment

Renders audio attachment controls inside MessageList and MessageComposer. This is the default component for the AudioAttachment prop.

Best Practices

  • Playback is handled internally through the shared audio-player state store; you don't wire up load/progress/play-pause callbacks yourself.
  • Use hideProgressBar, showTitle, and showSpeedSettings to tune what the row displays.
  • Respect concurrent playback settings from the Channel/Audio provider.
  • Provide clear play/pause affordances and accessibility labels.
  • Test on both iOS and Android for consistent audio behavior.

Props

Prop Description Type
item Audio item to render. Contains playback metadata such as id, type ('audio' | 'voiceRecording'), duration, waveform_data, asset_url, title, and mime_type. AudioAttachmentType
message Message object the attachment belongs to. Used to scope the audio player instance. LocalMessage
hideProgressBar When true, the progress/waveform bar isn't rendered. Defaults to false. boolean
showTitle When true, the file title (or "Voice Message") is shown. Defaults to true. boolean
showSpeedSettings When true, the playback-speed button is shown. Defaults to false. boolean
isPreview Set to true when the attachment is rendered as a preview in the message input. Defaults to false. boolean
indicator Node rendered in place of the progress info while a local attachment is uploading. React.ReactNode
containerStyle Additional style applied to the outer container. StyleProp<ViewStyle>
styles Style overrides for container, playPauseButton, speedSettingsButton, durationText, and leftContainer. object
testID Test identifier for the component. string
Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Chat React Native v9: <Your Question>