---
title: MPMediaItem
framework: mediaplayer
role: symbol
role_heading: Class
path: mediaplayer/mpmediaitem
---

# MPMediaItem

A collection of properties that represents a single item in the media library.

## Declaration

```swift
class MPMediaItem
```

## Overview

Overview A media item has an overall unique identifier, accessed using the MPMediaItemPropertyPersistentID property key, as well as specific identifiers for its metadata. These identifiers persists across application launches. A media item can have a wide range of metadata associated with it. You access this metadata using the value(forProperty:) method along with the property keys described in this document. You can also access metadata in a batch fashion using the enumerateValues(forProperties:using:) method. Anytime the app accesses more than one property, enumerating over a set of property keys is more efficient than fetching each individual property. MPMediaEntity defines both of these methods, the abstract superclass of MPMediaItemCollection, and described in MPMediaEntity. You use attributes of media items to build media queries for searching the Media library. MPMediaType, General media item property keys, and Podcast Item Property Keys describe these attributes. In addition, Media entity property keys describes the MPMediaEntityPropertyPersistentID property, and MPMediaQuery describes media queries.

## Topics

### Media item properties

- [albumArtist](mediaplayer/mpmediaitem/albumartist.md)
- [albumArtistPersistentID](mediaplayer/mpmediaitem/albumartistpersistentid.md)
- [albumPersistentID](mediaplayer/mpmediaitem/albumpersistentid.md)
- [albumTitle](mediaplayer/mpmediaitem/albumtitle.md)
- [albumTrackCount](mediaplayer/mpmediaitem/albumtrackcount.md)
- [albumTrackNumber](mediaplayer/mpmediaitem/albumtracknumber.md)
- [artist](mediaplayer/mpmediaitem/artist.md)
- [artistPersistentID](mediaplayer/mpmediaitem/artistpersistentid.md)
- [artwork](mediaplayer/mpmediaitem/artwork.md)
- [assetURL](mediaplayer/mpmediaitem/asseturl.md)
- [beatsPerMinute](mediaplayer/mpmediaitem/beatsperminute.md)
- [bookmarkTime](mediaplayer/mpmediaitem/bookmarktime.md)
- [isCloudItem](mediaplayer/mpmediaitem/isclouditem.md)
- [comments](mediaplayer/mpmediaitem/comments.md)
- [isCompilation](mediaplayer/mpmediaitem/iscompilation.md)
- [isPreorder](mediaplayer/mpmediaitem/ispreorder.md)
- [composer](mediaplayer/mpmediaitem/composer.md)
- [composerPersistentID](mediaplayer/mpmediaitem/composerpersistentid.md)
- [dateAdded](mediaplayer/mpmediaitem/dateadded.md)
- [discCount](mediaplayer/mpmediaitem/disccount.md)
- [discNumber](mediaplayer/mpmediaitem/discnumber.md)
- [isExplicitItem](mediaplayer/mpmediaitem/isexplicititem.md)
- [genre](mediaplayer/mpmediaitem/genre.md)
- [genrePersistentID](mediaplayer/mpmediaitem/genrepersistentid.md)
- [lastPlayedDate](mediaplayer/mpmediaitem/lastplayeddate.md)
- [lyrics](mediaplayer/mpmediaitem/lyrics.md)
- [mediaType](mediaplayer/mpmediaitem/mediatype.md)
- [persistentID](mediaplayer/mpmediaitem/persistentid.md)
- [playCount](mediaplayer/mpmediaitem/playcount.md)
- [playbackDuration](mediaplayer/mpmediaitem/playbackduration.md)
- [playbackStoreID](mediaplayer/mpmediaitem/playbackstoreid.md)
- [podcastPersistentID](mediaplayer/mpmediaitem/podcastpersistentid.md)
- [podcastTitle](mediaplayer/mpmediaitem/podcasttitle.md)
- [hasProtectedAsset](mediaplayer/mpmediaitem/hasprotectedasset.md)
- [rating](mediaplayer/mpmediaitem/rating.md)
- [releaseDate](mediaplayer/mpmediaitem/releasedate.md)
- [skipCount](mediaplayer/mpmediaitem/skipcount.md)
- [title](mediaplayer/mpmediaitem/title.md)
- [userGrouping](mediaplayer/mpmediaitem/usergrouping.md)

### Obtaining group properties

- [persistentIDProperty(forGroupingType:)](mediaplayer/mpmediaitem/persistentidproperty(forgroupingtype:).md)
- [titleProperty(forGroupingType:)](mediaplayer/mpmediaitem/titleproperty(forgroupingtype:).md)

### Media item types and keys

- [MPMediaType](mediaplayer/mpmediatype.md)
- [General media item property keys](mediaplayer/general-media-item-property-keys.md)
- [User-defined property keys](mediaplayer/user-defined-property-keys.md)

## Relationships

### Inherits From

- [MPMediaEntity](mediaplayer/mpmediaentity.md)

### Conforms To

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

## See Also

### Media items and playlists

- [Providing animated artwork for media items](mediaplayer/providing-animated-artwork-for-media-items.md)
- [MPMediaItemArtwork](mediaplayer/mpmediaitemartwork.md)
- [MPMediaItemAnimatedArtwork](mediaplayer/mpmediaitemanimatedartwork.md)
- [MPMediaItemCollection](mediaplayer/mpmediaitemcollection.md)
- [MPMediaPlaylist](mediaplayer/mpmediaplaylist.md)
- [MPMediaPlaylistCreationMetadata](mediaplayer/mpmediaplaylistcreationmetadata.md)
- [MPMediaEntity](mediaplayer/mpmediaentity.md)
