---
title: Player
framework: tvmljs
role: symbol
role_heading: Class
path: tvmljs/player
---

# Player

A media player that displays the UI for playing video and audio in an Apple TV client-server app.

## Declaration

```data
interface Player
```

## Overview

Overview After you create a new player, associate the player with a playlist that contains media items. In order to play audio or video, at a minimum, there must be a Player object that contains a single Playlist object, which contains a single MediaItem object.

## Topics

### Setting Up the Player

- [interactiveOverlayDismissable](tvmljs/player/2123044-interactiveoverlaydismissable.md)
- [interactiveOverlayDocument](tvmljs/player/2123043-interactiveoverlaydocument.md)
- [overlayDocument](tvmljs/player/1627320-overlaydocument.md)
- [Player](tvmljs/player/1627447-player.md)
- [playlist](tvmljs/player/1627389-playlist.md)
- [present](tvmljs/player/1627418-present.md)

### Controlling Playback

- [changeToMediaAtIndex](tvmljs/player/1682100-changetomediaatindex.md)
- [pause](tvmljs/player/1627417-pause.md)
- [next](tvmljs/player/1682103-next.md)
- [play](tvmljs/player/1627432-play.md)
- [playbackState](tvmljs/player/1627387-playbackstate.md)
- [playbackRate](tvmljs/player/1682104-playbackrate.md)
- [previous](tvmljs/player/1682106-previous.md)
- [seekToTime](tvmljs/player/1627368-seektotime.md)
- [stop](tvmljs/player/1627406-stop.md)

### Inspecting Media Items

- [currentMediaItem](tvmljs/player/1627325-currentmediaitem.md)
- [currentMediaItemDate](tvmljs/player/1837542-currentmediaitemdate.md)
- [currentMediaItemDuration](tvmljs/player/1682110-currentmediaitemduration.md)
- [nextMediaItem](tvmljs/player/1627338-nextmediaitem.md)
- [previousMediaItem](tvmljs/player/1627373-previousmediaitem.md)

### Responding to Events

- [mediaItemDidChange](tvmljs/player/1627385-mediaitemdidchange.md)
- [mediaItemWillChange](tvmljs/player/1627345-mediaitemwillchange.md)
- [playbackDidStall](tvmljs/player/1682114-playbackdidstall.md)
- [playbackError](tvmljs/player/1682115-playbackerror.md)
- [requestSeekToTime](tvmljs/player/1627354-requestseektotime.md)
- [shouldChangeToMediaAtIndex](tvmljs/player/1682117-shouldchangetomediaatindex.md)
- [shouldHandleStateChange](tvmljs/player/1627428-shouldhandlestatechange.md)
- [stateDidChange](tvmljs/player/1627390-statedidchange.md)
- [stateWillChange](tvmljs/player/1627331-statewillchange.md)
- [timeBoundaryDidCross](tvmljs/player/1627443-timeboundarydidcross.md)
- [timeDidChange](tvmljs/player/1627344-timedidchange.md)
- [timedMetadata](tvmljs/player/1627384-timedmetadata.md)
- [transportBarVisibilityDidChange](tvmljs/player/1682120-transportbarvisibilitydidchange.md)

## Relationships

### Inherits From

- [EventListenerObject](tvmljs/eventlistenerobject.md)

## See Also

### Media Playback

- [Playing Media in a Client-Server App](tvmljs/playing_media_in_a_client-server_app.md)
- [Playlist](tvmljs/playlist.md)
- [MediaItem](tvmljs/mediaitem.md)
- [Slideshow](tvmljs/slideshow.md)
- [Browser](tvmljs/browser.md)
