<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.13.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVSampleBufferAudioRenderer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVSampleBufferAudioRenderer"
  },
  "title" : "AVSampleBufferAudioRenderer"
}
-->

# AVSampleBufferAudioRenderer

An object used to decompress audio and play compressed or uncompressed audio.

```
class AVSampleBufferAudioRenderer
```

## Overview

You must add an instance of this class to an [`AVSampleBufferRenderSynchronizer`](/documentation/AVFoundation/AVSampleBufferRenderSynchronizer) before queuing the first sample buffer.

## Topics

### Determining rendering status

[`status`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/status)

The status of the audio renderer.

[`AVQueuedSampleBufferRenderingStatus`](/documentation/AVFoundation/AVQueuedSampleBufferRenderingStatus)

The statuses for sample buffer rendering.

### Removing queued buffers

[`flush(fromSourceTime:completionHandler:)`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/flush(fromSourceTime:completionHandler:))

Flushes queued sample buffers with presentation time stamps later than or equal to the specified time.

[`AVSampleBufferAudioRendererFlushTimeKey`](/documentation/AVFoundation/AVSampleBufferAudioRendererFlushTimeKey)

The key that indicates the presentation timestamp of the first queued sample that was flushed.

### Configuring time and pitch

[`audioTimePitchAlgorithm`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/audioTimePitchAlgorithm)

The processing algorithm used to manage audio pitch at different rates.

[`AVAudioTimePitchAlgorithm`](/documentation/AVFoundation/AVAudioTimePitchAlgorithm)

An algorithm used to set the audio pitch as the rate changes.

### Configuring audio spatialization

[`allowedAudioSpatializationFormats`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/allowedAudioSpatializationFormats)

The source audio channel layouts the audio renderer supports for spatialization.

### Managing audio output

[`volume`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/volume)

The current audio volume for the audio renderer.

[`isMuted`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/isMuted)

A Boolean value that indicates whether audio for the renderer is in a muted state.

[`audioOutputDeviceUniqueID`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/audioOutputDeviceUniqueID)

The unique identifier of the output device used to play audio.

### Responding to errors

[`error`](/documentation/AVFoundation/AVSampleBufferAudioRenderer/error)

The error that caused the renderer to no longer render sample buffers.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)