---
title: "tracks(withMediaCharacteristic:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avasset/tracks(withmediacharacteristic:)"
---

# tracks(withMediaCharacteristic:)

Returns an array of asset tracks matching the specified media characteristic.

## Declaration

```swift
func tracks(withMediaCharacteristic mediaCharacteristic: AVMediaCharacteristic) -> [AVAssetTrack]
```

## Parameters

- `mediaCharacteristic`: The media characteristic of the tracks to return.

## Return Value

Return Value An array of tracks, which is empty if there are no tracks with the media characteristic.

## Discussion

Discussion Apple discourages using this method in iOS 15, tvOS 15, macOS 12, and watchOS 8 or later. Load tracks asynchronously using loadTracks(withMediaCharacteristic:completionHandler:) instead. You can call this method without blocking the current thread when the data in the tracks property is already loaded.
