---
title: "init(principalMediaCharacteristics:preferredLanguages:preferredMediaCharacteristics:)"
framework: avfoundation
role: symbol
role_heading: Initializer
path: "avfoundation/avplayermediaselectioncriteria/init(principalmediacharacteristics:preferredlanguages:preferredmediacharacteristics:)"
---

# init(principalMediaCharacteristics:preferredLanguages:preferredMediaCharacteristics:)

Creates media selection criteria with the principal media characteristics, and preferred languages and media characteristics.

## Declaration

```swift
init(principalMediaCharacteristics: [AVMediaCharacteristic]?, preferredLanguages: [String]?, preferredMediaCharacteristics: [AVMediaCharacteristic]?)
```

## Parameters

- `principalMediaCharacteristics`: An array of media characteristics that are essential to selecting media with the characteristic. This value may be nil.
- `preferredLanguages`: An array of language identifier strings, in order of preference. This value may be nil.
- `preferredMediaCharacteristics`: An array of media characteristics, in order of preference. This value may be nil.

## Discussion

Discussion Principal media characteristics, when present, override language preferences when making selections within a specific media selection group. However, language preferences may still pertain to selections in other groups. For example, the system may consider language preferences when choosing whether to select nonforced subtitles for translation purposes.

## See Also

### Creating media selection criteria

- [init(preferredLanguages:preferredMediaCharacteristics:)](avfoundation/avplayermediaselectioncriteria/init(preferredlanguages:preferredmediacharacteristics:).md)
