---
title: AVPlayerItem
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avplayeritem
---

# AVPlayerItem

An object that models the timing and presentation state of an asset during playback.

## Declaration

```swift
@MainActor class AVPlayerItem
```

## Mentioned in

Controlling the transport behavior of a player Implementing simple enhanced buffering for your content Observing playback state in SwiftUI Selecting subtitles and alternative audio tracks

## Overview

Overview A player item stores a reference to an AVAsset object, which represents the media to play. If you require inspecting an asset before you enqueue it for playback, call its load(_:isolation:) method to retrieve the values of one or more properties. Alternatively, you can tell the player item to automatically load the required properties by passing them to its init(asset:automaticallyLoadedAssetKeys:) initializer. When the player item is ready to play, the asset properties you request are ready to use.

## Topics

### Creating a player item

- [init(url:)](avfoundation/avplayeritem/init(url:)-1xrtk.md)
- [init(asset:)](avfoundation/avplayeritem/init(asset:)-87rjl.md)
- [init(asset:)](avfoundation/avplayeritem/init(asset:)-1nme9.md)
- [init(asset:automaticallyLoadedAssetKeys:)](avfoundation/avplayeritem/init(asset:automaticallyloadedassetkeys:)-5czjh.md)
- [init(asset:automaticallyLoadedAssetKeys:)](avfoundation/avplayeritem/init(asset:automaticallyloadedassetkeys:)-85hal.md)
- [init(asset:automaticallyLoadedAssetKeys:)](avfoundation/avplayeritem/init(asset:automaticallyloadedassetkeys:)-8x4.md)

### Accessing tracks

- [tracks](avfoundation/avplayeritem/tracks.md)

### Accessing metadata

- [externalMetadata](avfoundation/avplayeritem/externalmetadata.md)

### Determining readiness

- [status](avfoundation/avplayeritem/status-swift.property.md)
- [AVPlayerItem.Status](avfoundation/avplayeritem/status-swift.enum.md)
- [error](avfoundation/avplayeritem/error.md)

### Determining playback capabilities

- [canPlayReverse](avfoundation/avplayeritem/canplayreverse.md)
- [canPlayFastForward](avfoundation/avplayeritem/canplayfastforward.md)
- [canPlayFastReverse](avfoundation/avplayeritem/canplayfastreverse.md)
- [canPlaySlowForward](avfoundation/avplayeritem/canplayslowforward.md)
- [canPlaySlowReverse](avfoundation/avplayeritem/canplayslowreverse.md)

### Setting playback boundaries

- [forwardPlaybackEndTime](avfoundation/avplayeritem/forwardplaybackendtime.md)
- [reversePlaybackEndTime](avfoundation/avplayeritem/reverseplaybackendtime.md)

### Stepping through media

- [canStepForward](avfoundation/avplayeritem/canstepforward.md)
- [canStepBackward](avfoundation/avplayeritem/canstepbackward.md)
- [step(byCount:)](avfoundation/avplayeritem/step(bycount:).md)

### Seeking through media

- [seek(to:completionHandler:)](avfoundation/avplayeritem/seek(to:completionhandler:)-91gnw.md)
- [seek(to:toleranceBefore:toleranceAfter:completionHandler:)](avfoundation/avplayeritem/seek(to:tolerancebefore:toleranceafter:completionhandler:).md)
- [seek(to:completionHandler:)](avfoundation/avplayeritem/seek(to:completionhandler:)-1dibq.md)
- [cancelPendingSeeks()](avfoundation/avplayeritem/cancelpendingseeks().md)

### Selecting media options

- [select(_:for:)](avfoundation/avplayeritem/select(_:for:).md)
- [preferredCustomMediaSelectionSchemes](avfoundation/avplayeritem/preferredcustommediaselectionschemes.md)
- [effectiveMediaPresentationSettings(for:)](avfoundation/avplayeritem/effectivemediapresentationsettings(for:).md)
- [selectMediaPresentationLanguage(_:for:)](avfoundation/avplayeritem/selectmediapresentationlanguage(_:for:).md)
- [selectedMediaPresentationLanguage(for:)](avfoundation/avplayeritem/selectedmediapresentationlanguage(for:).md)
- [selectedMediaPresentationSettings(for:)](avfoundation/avplayeritem/selectedmediapresentationsettings(for:).md)
- [currentMediaSelection](avfoundation/avplayeritem/currentmediaselection.md)
- [select(_:in:)](avfoundation/avplayeritem/select(_:in:).md)
- [selectMediaOptionAutomatically(in:)](avfoundation/avplayeritem/selectmediaoptionautomatically(in:).md)

### Setting variant behavior

- [variantPreferences](avfoundation/avplayeritem/variantpreferences.md)
- [AVVariantPreferences](avfoundation/avvariantpreferences.md)
- [startsOnFirstEligibleVariant](avfoundation/avplayeritem/startsonfirsteligiblevariant.md)

### Configuring interstitial events

- [integratedTimeline](avfoundation/avplayeritem/integratedtimeline.md)
- [automaticallyHandlesInterstitialEvents](avfoundation/avplayeritem/automaticallyhandlesinterstitialevents.md)
- [translatesPlayerInterstitialEvents](avfoundation/avplayeritem/translatesplayerinterstitialevents.md)
- [interstitialTimeRanges](avfoundation/avplayeritem/interstitialtimeranges.md)
- [template](avfoundation/avplayeritem/template.md)

### Accessing timing information

- [currentTime()](avfoundation/avplayeritem/currenttime().md)
- [currentDate()](avfoundation/avplayeritem/currentdate().md)
- [duration](avfoundation/avplayeritem/duration.md)
- [timebase](avfoundation/avplayeritem/timebase.md)

### Determining available time ranges

- [loadedTimeRanges](avfoundation/avplayeritem/loadedtimeranges.md)
- [seekableTimeRanges](avfoundation/avplayeritem/seekabletimeranges.md)

### Determining buffering status

- [isPlaybackLikelyToKeepUp](avfoundation/avplayeritem/isplaybacklikelytokeepup.md)
- [isPlaybackBufferFull](avfoundation/avplayeritem/isplaybackbufferfull.md)
- [isPlaybackBufferEmpty](avfoundation/avplayeritem/isplaybackbufferempty.md)

### Configuring expensive network behavior

- [preferredPeakBitRateForExpensiveNetworks](avfoundation/avplayeritem/preferredpeakbitrateforexpensivenetworks.md)
- [preferredMaximumResolutionForExpensiveNetworks](avfoundation/avplayeritem/preferredmaximumresolutionforexpensivenetworks.md)

### Accessing text style rules

- [textStyleRules](avfoundation/avplayeritem/textstylerules.md)
- [AVTextStyleRule](avfoundation/avtextstylerule.md)

### Accessing logging information

- [accessLog()](avfoundation/avplayeritem/accesslog().md)
- [AVPlayerItemAccessLog](avfoundation/avplayeritemaccesslog.md)
- [AVPlayerItemAccessLogEvent](avfoundation/avplayeritemaccesslogevent.md)
- [errorLog()](avfoundation/avplayeritem/errorlog().md)
- [AVPlayerItemErrorLog](avfoundation/avplayeritemerrorlog.md)
- [AVPlayerItemErrorLogEvent](avfoundation/avplayeritemerrorlogevent.md)

### Observing notifications

- [didPlayToEndTimeNotification](avfoundation/avplayeritem/didplaytoendtimenotification.md)
- [failedToPlayToEndTimeNotification](avfoundation/avplayeritem/failedtoplaytoendtimenotification.md)
- [timeJumpedNotification](avfoundation/avplayeritem/timejumpednotification.md)
- [playbackStalledNotification](avfoundation/avplayeritem/playbackstallednotification.md)
- [mediaSelectionDidChangeNotification](avfoundation/avplayeritem/mediaselectiondidchangenotification.md)
- [recommendedTimeOffsetFromLiveDidChangeNotification](avfoundation/avplayeritem/recommendedtimeoffsetfromlivedidchangenotification.md)
- [newAccessLogEntryNotification](avfoundation/avplayeritem/newaccesslogentrynotification.md)
- [newErrorLogEntryNotification](avfoundation/avplayeritem/newerrorlogentrynotification.md)

### Managing time offsets

- [automaticallyPreservesTimeOffsetFromLive](avfoundation/avplayeritem/automaticallypreservestimeoffsetfromlive.md)
- [recommendedTimeOffsetFromLive](avfoundation/avplayeritem/recommendedtimeoffsetfromlive.md)
- [configuredTimeOffsetFromLive](avfoundation/avplayeritem/configuredtimeoffsetfromlive.md)

### Configuring presentation

- [presentationSize](avfoundation/avplayeritem/presentationsize.md)
- [preferredMaximumResolution](avfoundation/avplayeritem/preferredmaximumresolution.md)
- [videoApertureMode](avfoundation/avplayeritem/videoaperturemode.md)
- [AVVideoApertureMode](avfoundation/avvideoaperturemode.md)

### Accessing Now Playing information

- [nowPlayingInfo](avfoundation/avplayeritem/nowplayinginfo.md)

### Configuring HDR settings

- [appliesPerFrameHDRDisplayMetadata](avfoundation/avplayeritem/appliesperframehdrdisplaymetadata.md)

### Configuring video compositing

- [videoComposition](avfoundation/avplayeritem/videocomposition.md)
- [customVideoCompositor](avfoundation/avplayeritem/customvideocompositor.md)
- [seekingWaitsForVideoCompositionRendering](avfoundation/avplayeritem/seekingwaitsforvideocompositionrendering.md)

### Configuring audio

- [audioMix](avfoundation/avplayeritem/audiomix.md)
- [audioTimePitchAlgorithm](avfoundation/avplayeritem/audiotimepitchalgorithm.md)
- [allowedAudioSpatializationFormats](avfoundation/avplayeritem/allowedaudiospatializationformats.md)
- [AVAudioSpatializationFormats](avfoundation/avaudiospatializationformats.md)
- [isAudioSpatializationAllowed](avfoundation/avplayeritem/isaudiospatializationallowed.md)

### Managing player item outputs

- [outputs](avfoundation/avplayeritem/outputs.md)
- [add(_:)](avfoundation/avplayeritem/add(_:)-16ctk.md)
- [remove(_:)](avfoundation/avplayeritem/remove(_:)-46b1r.md)

### Managing player item data collectors

- [mediaDataCollectors](avfoundation/avplayeritem/mediadatacollectors.md)
- [add(_:)](avfoundation/avplayeritem/add(_:)-9l3to.md)
- [remove(_:)](avfoundation/avplayeritem/remove(_:)-29iuz.md)

### Configuring network behavior

- [preferredPeakBitRate](avfoundation/avplayeritem/preferredpeakbitrate.md)
- [preferredForwardBufferDuration](avfoundation/avplayeritem/preferredforwardbufferduration.md)
- [canUseNetworkResourcesForLiveStreamingWhilePaused](avfoundation/avplayeritem/canusenetworkresourcesforlivestreamingwhilepaused.md)

### Configuring player items for AVKit

- [navigationMarkerGroups](avfoundation/avplayeritem/navigationmarkergroups.md)
- [nextContentProposal](avfoundation/avplayeritem/nextcontentproposal.md)

### Requesting playback authorization in tvOS

- [requestPlaybackRestrictionsAuthorization(_:)](avfoundation/avplayeritem/requestplaybackrestrictionsauthorization(_:).md)
- [cancelPlaybackRestrictionsAuthorizationRequest()](avfoundation/avplayeritem/cancelplaybackrestrictionsauthorizationrequest().md)

### Managing playback authorization in macOS

- [isContentAuthorizedForPlayback](avfoundation/avplayeritem/iscontentauthorizedforplayback.md)
- [isAuthorizationRequiredForPlayback](avfoundation/avplayeritem/isauthorizationrequiredforplayback.md)
- [isApplicationAuthorizedForPlayback](avfoundation/avplayeritem/isapplicationauthorizedforplayback.md)
- [requestContentAuthorizationAsynchronously(withTimeoutInterval:completionHandler:)](avfoundation/avplayeritem/requestcontentauthorizationasynchronously(withtimeoutinterval:completionhandler:).md)
- [contentAuthorizationRequestStatus](avfoundation/avplayeritem/contentauthorizationrequeststatus.md)
- [AVContentAuthorizationStatus](avfoundation/avcontentauthorizationstatus.md)
- [cancelContentAuthorizationRequest()](avfoundation/avplayeritem/cancelcontentauthorizationrequest().md)

### Accessing initialization parameters

- [asset](avfoundation/avplayeritem/asset.md)
- [automaticallyLoadedAssetKeys](avfoundation/avplayeritem/automaticallyloadedassetkeys.md)

### Copying an player item

- [copy()](avfoundation/avplayeritem/copy().md)
- [copy(with:)](avfoundation/avplayeritem/copy(with:).md)

### Deprecated

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

### Initializers

- [init(URL:)](avfoundation/avplayeritem/init(url:)-5rssp.md)
- [init(URL:)](avfoundation/avplayeritem/init(url:)-91z05.md)

### Instance Properties

- [interstitialEventIdentifier](avfoundation/avplayeritem/interstitialeventidentifier.md)

### Instance Methods

- [fetchAccessLog(completionHandler:)](avfoundation/avplayeritem/fetchaccesslog(completionhandler:).md)
- [fetchErrorLog(completionHandler:)](avfoundation/avplayeritem/fetcherrorlog(completionhandler:).md)
- [selectableMediaSelectionOptions(in:)](avfoundation/avplayeritem/selectablemediaselectionoptions(in:).md)

## Relationships

### Inherits From

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

### Conforms To

- [AVMetricEventStreamPublisher](avfoundation/avmetriceventstreampublisher.md)
- [CVarArg](swift/cvararg.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Observable](observation/observable.md)
- [Sendable](swift/sendable.md)

## See Also

### Playback control

- [Observing playback state in SwiftUI](avfoundation/observing-playback-state-in-swiftui.md)
- [Controlling the transport behavior of a player](avfoundation/controlling-the-transport-behavior-of-a-player.md)
- [Creating a seamless multiview playback experience](avfoundation/creating-a-seamless-multiview-playback-experience.md)
- [AVPlayer](avfoundation/avplayer.md)
- [AVPlayerItemTrack](avfoundation/avplayeritemtrack.md)
- [AVQueuePlayer](avfoundation/avqueueplayer.md)
- [AVPlayerLooper](avfoundation/avplayerlooper.md)
