---
title: AVAssetTrack
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avassettrack
---

# AVAssetTrack

An object that models a track of media that an asset contains.

## Declaration

```swift
class AVAssetTrack
```

## Mentioned in

Loading media data asynchronously Tagging media with video color information

## Overview

Overview An asset contains one or more tracks of media that the framework models using the AVAssetTrack class. A track object holds the uniformly typed media that an asset provides such as audio, video, or closed captions. A track, like its containing AVAsset, doesn’t load all of its media upon creation. Instead, it defers loading its data until you perform an operation that requires it. Because loading the data can take time, an asset track adopts the AVAsynchronousKeyValueLoading protocol so you can load its property values asynchronously by calling the load(_:isolation:) method.

## Topics

### Identifying an asset track

- [trackID](avfoundation/avassettrack/trackid.md)
- [mediaType](avfoundation/avassettrack/mediatype.md)
- [asset](avfoundation/avassettrack/asset.md)

### Loading track information

- [formatDescriptions](avfoundation/avpartialasyncproperty/formatdescriptions.md)
- [isPlayable](avfoundation/avpartialasyncproperty/isplayable-6txa5.md)
- [isDecodable](avfoundation/avpartialasyncproperty/isdecodable.md)
- [isEnabled](avfoundation/avpartialasyncproperty/isenabled.md)
- [isSelfContained](avfoundation/avpartialasyncproperty/isselfcontained.md)
- [totalSampleDataLength](avfoundation/avpartialasyncproperty/totalsampledatalength.md)
- [mediaCharacteristics](avfoundation/avpartialasyncproperty/mediacharacteristics.md)

### Loading temporal information

- [timeRange](avfoundation/avpartialasyncproperty/timerange.md)
- [naturalTimeScale](avfoundation/avpartialasyncproperty/naturaltimescale.md)
- [estimatedDataRate](avfoundation/avpartialasyncproperty/estimateddatarate.md)

### Loading language support

- [languageCode](avfoundation/avpartialasyncproperty/languagecode.md)
- [extendedLanguageTag](avfoundation/avpartialasyncproperty/extendedlanguagetag.md)

### Loading visual characteristics

- [naturalSize](avfoundation/avpartialasyncproperty/naturalsize.md)
- [preferredTransform](avfoundation/avpartialasyncproperty/preferredtransform-90jdn.md)

### Loading audible characteristics

- [preferredVolume](avfoundation/avpartialasyncproperty/preferredvolume-8q2yt.md)
- [hasAudioSampleDependencies](avfoundation/avpartialasyncproperty/hasaudiosampledependencies.md)

### Loading frame-based characteristics

- [nominalFrameRate](avfoundation/avpartialasyncproperty/nominalframerate.md)
- [minFrameDuration](avfoundation/avpartialasyncproperty/minframeduration.md)
- [requiresFrameReordering](avfoundation/avpartialasyncproperty/requiresframereordering.md)

### Loading metadata

- [metadata](avfoundation/avpartialasyncproperty/metadata-6e14c.md)
- [commonMetadata](avfoundation/avpartialasyncproperty/commonmetadata-73m58.md)
- [availableMetadataFormats](avfoundation/avpartialasyncproperty/availablemetadataformats-5p9xg.md)
- [loadMetadata(for:completionHandler:)](avfoundation/avassettrack/loadmetadata(for:completionhandler:).md)

### Loading track segments

- [segments](avfoundation/avpartialasyncproperty/segments.md)
- [loadSegment(forTrackTime:completionHandler:)](avfoundation/avassettrack/loadsegment(fortracktime:completionhandler:).md)
- [loadSamplePresentationTime(forTrackTime:completionHandler:)](avfoundation/avassettrack/loadsamplepresentationtime(fortracktime:completionhandler:).md)
- [AVAssetTrackSegment](avfoundation/avassettracksegment.md)

### Loading track associations

- [availableTrackAssociationTypes](avfoundation/avpartialasyncproperty/availabletrackassociationtypes.md)
- [loadAssociatedTracks(ofType:completionHandler:)](avfoundation/avassettrack/loadassociatedtracks(oftype:completionhandler:).md)

### Creating sample cursors

- [makeSampleCursor(presentationTimeStamp:)](avfoundation/avassettrack/makesamplecursor(presentationtimestamp:).md)
- [makeSampleCursorAtFirstSampleInDecodeOrder()](avfoundation/avassettrack/makesamplecursoratfirstsampleindecodeorder().md)
- [makeSampleCursorAtLastSampleInDecodeOrder()](avfoundation/avassettrack/makesamplecursoratlastsampleindecodeorder().md)

### Deprecated

- [Deprecated symbols](avfoundation/avassettrack-deprecated-symbols.md)

## Relationships

### Inherits From

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

### Inherited By

- [AVCompositionTrack](avfoundation/avcompositiontrack.md)
- [AVFragmentedAssetTrack](avfoundation/avfragmentedassettrack.md)
- [AVMovieTrack](avfoundation/avmovietrack.md)

### Conforms To

- [AVAsynchronousKeyValueLoading](avfoundation/avasynchronouskeyvalueloading.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Assets

- [AVAsset](avfoundation/avasset.md)
- [AVURLAsset](avfoundation/avurlasset.md)
- [AVAssetTrackSegment](avfoundation/avassettracksegment.md)
- [AVAssetTrackGroup](avfoundation/avassettrackgroup.md)
