---
title: AVAssetReader
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avassetreader
---

# AVAssetReader

An object that reads media data from an asset.

## Declaration

```swift
class AVAssetReader
```

## Overview

Overview Use an asset reader to read media data from instances of AVAsset. The assets you read may represent file-based media like QuickTime movies or MPEG-4 files, or media that you compose from multiple sources using AVComposition.

## Topics

### Creating an asset reader

- [init(asset:)](avfoundation/avassetreader/init(asset:).md)

### Managing outputs

- [canAdd(_:)](avfoundation/avassetreader/canadd(_:).md)
- [add(_:)](avfoundation/avassetreader/add(_:).md)
- [outputs](avfoundation/avassetreader/outputs.md)

### Accessing output providers

- [outputProvider(for:)](avfoundation/avassetreader/outputprovider(for:).md)
- [outputProviderWithRandomAccess(for:)](avfoundation/avassetreader/outputproviderwithrandomaccess(for:).md)
- [outputCaptionProvider(for:validationDelegate:)](avfoundation/avassetreader/outputcaptionprovider(for:validationdelegate:).md)
- [outputCaptionProviderWithRandomAccess(for:validationDelegate:)](avfoundation/avassetreader/outputcaptionproviderwithrandomaccess(for:validationdelegate:).md)
- [outputMetadataProvider(for:)](avfoundation/avassetreader/outputmetadataprovider(for:).md)
- [outputMetadataProviderWithRandomAccess(for:)](avfoundation/avassetreader/outputmetadataproviderwithrandomaccess(for:).md)

### Configuring reading

- [timeRange](avfoundation/avassetreader/timerange.md)
- [status](avfoundation/avassetreader/status-swift.property.md)
- [AVAssetReader.Status](avfoundation/avassetreader/status-swift.enum.md)
- [error](avfoundation/avassetreader/error.md)

### Controlling reading

- [start()](avfoundation/avassetreader/start().md)
- [startReading()](avfoundation/avassetreader/startreading().md)
- [cancelReading()](avfoundation/avassetreader/cancelreading().md)

### Inspecting the asset

- [asset](avfoundation/avassetreader/asset.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Media reading

- [Reading multiview 3D video files](avfoundation/reading-multiview-3d-video-files.md)
- [AVAssetReaderOutput](avfoundation/avassetreaderoutput.md)
- [AVAssetReaderTrackOutput](avfoundation/avassetreadertrackoutput.md)
- [AVAssetReaderAudioMixOutput](avfoundation/avassetreaderaudiomixoutput.md)
- [AVAssetReaderVideoCompositionOutput](avfoundation/avassetreadervideocompositionoutput.md)
- [AVAssetReaderSampleReferenceOutput](avfoundation/avassetreadersamplereferenceoutput.md)
- [AVAssetReaderOutputMetadataAdaptor](avfoundation/avassetreaderoutputmetadataadaptor.md)
