<!--
{
  "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

[`containsExplicitContent`](/documentation/TVMLKit/TVMediaItem/containsExplicitContent)

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

[`contentRatingDomain`](/documentation/TVMLKit/TVMediaItem/contentRatingDomain-swift.property)

The media domain that the rating applies to.

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

A value identifying the media’s content rating domain.

[`contentRatingRanking`](/documentation/TVMLKit/TVMediaItem/contentRatingRanking)

The rating for a video item.

### Identifying Media Items

[`artworkImageURL`](/documentation/TVMLKit/TVMediaItem/artworkImageURL)

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

[`itemDescription`](/documentation/TVMLKit/TVMediaItem/itemDescription)

The description for a media item.

[`subtitle`](/documentation/TVMLKit/TVMediaItem/subtitle)

The subtitle for a media item.

[`title`](/documentation/TVMLKit/TVMediaItem/title)

The title for a media item.

[`type`](/documentation/TVMLKit/TVMediaItem/type)

The type of media item.

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

A value indicating whether the media is audio or video.

[`url`](/documentation/TVMLKit/TVMediaItem/url)

The URL path to the media item.

[`userInfo`](/documentation/TVMLKit/TVMediaItem/userInfo)

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

### Setting Timing Options

[`highlightGroups`](/documentation/TVMLKit/TVMediaItem/highlightGroups)

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

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

A container for groups of highlights for a media item.

[`interstitials`](/documentation/TVMLKit/TVMediaItem/interstitials)

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

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

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

[`resumeTime`](/documentation/TVMLKit/TVMediaItem/resumeTime)

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



---

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)