<!--
{
  "availability" : [
    "tvOS: 12.0.0 - 18.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "TVMLKit",
  "identifier" : "/documentation/TVMLKit/TVMediaItem",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "TVMLKit"
    ],
    "preciseIdentifier" : "c:objc(cs)TVMediaItem"
  },
  "title" : "TVMediaItem"
}
-->

# TVMediaItem

A single audio or video item associated with the Apple TV JavaScript player.

```
class TVMediaItem
```

## Overview

A `TVMediaItem` object contains read-only information about a media item associated with the JavaScript player. You can use this information with your own custom <doc://com.apple.documentation/documentation/AVFoundation/AVPlayer> objects exposed through a [`TVPlayer`](/documentation/TVMLKit/TVPlayer) object. For example, you can retrieve audio track information from the JavaScript player and play the track through a [`TVPlayer`](/documentation/TVMLKit/TVPlayer) object.

## Topics

### Rating Media Content

[`var containsExplicitContent: Bool`](/documentation/TVMLKit/TVMediaItem/containsExplicitContent)

A Boolean value indicating whether the item contains adult-oriented content.

[`var contentRatingDomain: TVMediaItem.ContentRatingDomain?`](/documentation/TVMLKit/TVMediaItem/contentRatingDomain-swift.property)

The media domain that the rating applies to.

[`struct ContentRatingDomain`](/documentation/TVMLKit/TVMediaItem/ContentRatingDomain-swift.struct)

A value identifying the media’s content rating domain.

[`var contentRatingRanking: NSNumber?`](/documentation/TVMLKit/TVMediaItem/contentRatingRanking)

The rating for a video item.

### Identifying Media Items

[`var artworkImageURL: URL?`](/documentation/TVMLKit/TVMediaItem/artworkImageURL)

The URL path to the artwork that accompanies the media item.

[`var itemDescription: String?`](/documentation/TVMLKit/TVMediaItem/itemDescription)

The description for a media item.

[`var subtitle: String?`](/documentation/TVMLKit/TVMediaItem/subtitle)

The subtitle for a media item.

[`var title: String?`](/documentation/TVMLKit/TVMediaItem/title)

The title for a media item.

[`var type: TVMediaItem.MediaType?`](/documentation/TVMLKit/TVMediaItem/type)

The type of media item.

[`struct MediaType`](/documentation/TVMLKit/TVMediaItem/MediaType)

A value indicating whether the media is audio or video.

[`var url: URL?`](/documentation/TVMLKit/TVMediaItem/url)

The URL path to the media item.

[`var userInfo: [String : Any]`](/documentation/TVMLKit/TVMediaItem/userInfo)

User-defined metadata, like a developer-specific identifier, for a media item.

### Setting Timing Options

[`var highlightGroups: [TVMediaItem.HighlightGroup]`](/documentation/TVMLKit/TVMediaItem/highlightGroups)

An array containing groups of individual highlights in a media item.

[`class HighlightGroup`](/documentation/TVMLKit/TVMediaItem/HighlightGroup)

A container for groups of highlights for a media item.

[`var interstitials: [TVMediaItem.TimeRange]`](/documentation/TVMLKit/TVMediaItem/interstitials)

An array of time intervals that indicate where to insert media items into another, single media item.

[`class TimeRange`](/documentation/TVMLKit/TVMediaItem/TimeRange)

An object that defines a time range in a media item.

[`var resumeTime: TimeInterval`](/documentation/TVMLKit/TVMediaItem/resumeTime)

The number of seconds from the beginning of a media item to the point where that media item begins playing.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

[`Equatable`](/documentation/Swift/Equatable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)