# Player on Roku

The Player API is the top-level API. This API exposes:

* basic functions to manipulate video playback, such as start and pause;
* properties to check states and values, such as the playhead position;
* events to track changes.

## Events

As a developer, you can programmatically attach event listeners to different APIs. Event listeners are often used to implement a custom UI, or to implement a custom analytics integration.

The THEOplayer API exposes many events across different interfaces, as can be seen in the graphic below. Furthermore, most events exist in all SDKs (Web, iOS-based, Android-based and Roku).

![THEOplayer API Interfaces and Events](/pr-860/assets/images/analytics-events-185d6ab52b556af08d8300b545ae5876.png "THEOplayer API Interfaces and Events")

Refer to [the Roku SDK API reference](https://docs-preview.optiview.dolby.com/pr-860/theoplayer/api-reference/roku.md) to go through the latest set of events.

## Related articles

* [How to measure the time-to-first-frame](https://docs-preview.optiview.dolby.com/pr-860/theoplayer/how-to-guides/roku/player/measure-time-to-first-frame.md)
* [How to track the first play(ing) event](https://docs-preview.optiview.dolby.com/pr-860/theoplayer/how-to-guides/roku/player/track-first-playing-event.md)
