---
title: AVPlayerInterstitialEventMonitor
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avplayerinterstitialeventmonitor
---

# AVPlayerInterstitialEventMonitor

An object that monitors the scheduling and progress of interstitial events.

## Declaration

```swift
class AVPlayerInterstitialEventMonitor
```

## Overview

Overview This object monitors interstitial events that exist within the content of the primary items, such as events defined by an HLS media playlist, and also events managed by an AVPlayerInterstitialEventController object. You can access the schedule of interstitial events through the events property. When it’s time to present an interstitial event, the system suspends playback of the primary item and changes its player’s timeControlStatus to AVPlayer.TimeControlStatus.waitingToPlayAtSpecifiedRate with a reasonForWaitingToPlay value of interstitialEvent. When the system suspends primary playback, it creates player items based on the event’s templateItems to play interstitial content. The interstitial player temporarily assumes the primary player’s output configuration, such as routing its visual output to player layers that reference the primary player. After the interstitial player finishes playback, or its current item otherwise becomes nil, playback of primary content resumes.

## Topics

### Creating a monitor

- [init(primaryPlayer:)](avfoundation/avplayerinterstitialeventmonitor/init(primaryplayer:).md)

### Monitoring the current event

- [currentEvent](avfoundation/avplayerinterstitialeventmonitor/currentevent.md)
- [currentEventDidChangeNotification](avfoundation/avplayerinterstitialeventmonitor/currenteventdidchangenotification.md)

### Monitoring the event schedule

- [events](avfoundation/avplayerinterstitialeventmonitor/events.md)
- [eventsDidChangeNotification](avfoundation/avplayerinterstitialeventmonitor/eventsdidchangenotification.md)
- [interstitialEventWasUnscheduledNotification](avfoundation/avplayerinterstitialeventmonitor/interstitialeventwasunschedulednotification.md)
- [interstitialEventWasUnscheduledEventKey](avfoundation/avplayerinterstitialeventmonitor/interstitialeventwasunscheduledeventkey.md)
- [interstitialEventWasUnscheduledErrorKey](avfoundation/avplayerinterstitialeventmonitor/interstitialeventwasunschedulederrorkey.md)
- [interstitialEventDidFinishNotification](avfoundation/avplayerinterstitialeventmonitor/interstitialeventdidfinishnotification.md)
- [interstitialEventDidFinishEventKey](avfoundation/avplayerinterstitialeventmonitor/interstitialeventdidfinisheventkey.md)
- [interstitialEventDidFinishPlayoutTimeKey](avfoundation/avplayerinterstitialeventmonitor/interstitialeventdidfinishplayouttimekey.md)
- [interstitialEventDidFinishDidPlayEntireEventKey](avfoundation/avplayerinterstitialeventmonitor/interstitialeventdidfinishdidplayentireeventkey.md)

### Monitoring the asset list response

- [assetListResponseStatusDidChangeNotification](avfoundation/avplayerinterstitialeventmonitor/assetlistresponsestatusdidchangenotification.md)
- [AVPlayerInterstitialEventAssetListResponseStatus](avfoundation/avplayerinterstitialeventassetlistresponsestatus.md)

### Monitoring skipping

- [currentEventSkippableStateDidChangeNotification](avfoundation/avplayerinterstitialeventmonitor/currenteventskippablestatedidchangenotification.md)
- [currentEventSkippableStateDidChangeEventKey](avfoundation/avplayerinterstitialeventmonitor/currenteventskippablestatedidchangeeventkey.md)
- [currentEventSkippableStateDidChangeStateKey](avfoundation/avplayerinterstitialeventmonitor/currenteventskippablestatedidchangestatekey.md)
- [currentEventSkippableStateDidChangeSkipControlLabelKey](avfoundation/avplayerinterstitialeventmonitor/currenteventskippablestatedidchangeskipcontrollabelkey.md)
- [currentEventSkippedNotification](avfoundation/avplayerinterstitialeventmonitor/currenteventskippednotification.md)
- [currentEventSkippedEventKey](avfoundation/avplayerinterstitialeventmonitor/currenteventskippedeventkey.md)
- [currentEventSkipControlLabel](avfoundation/avplayerinterstitialeventmonitor/currenteventskipcontrollabel.md)
- [currentEventSkippableState](avfoundation/avplayerinterstitialeventmonitor/currenteventskippablestate.md)

### Accessing the players

- [primaryPlayer](avfoundation/avplayerinterstitialeventmonitor/primaryplayer.md)
- [interstitialPlayer](avfoundation/avplayerinterstitialeventmonitor/interstitialplayer.md)

### Structures

- [AVPlayerInterstitialEventMonitor.ScheduleRequestCompleted](avfoundation/avplayerinterstitialeventmonitor/schedulerequestcompleted.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [AVPlayerInterstitialEventController](avfoundation/avplayerinterstitialeventcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Interstitials

- [Providing an integrated view of your timeline when playing HLS interstitials](avfoundation/providing-an-integrated-view-of-your-timeline-when-playing-hls-interstitials.md)
- [AVPlayerInterstitialEvent](avfoundation/avplayerinterstitialevent.md)
- [AVPlayerInterstitialEventController](avfoundation/avplayerinterstitialeventcontroller.md)
- [AVPlayerInterstitialEventMonitorScheduleRequestErrorKey](avfoundation/avplayerinterstitialeventmonitorschedulerequesterrorkey.md)
- [AVPlayerInterstitialEventMonitorScheduleRequestIdentifierKey](avfoundation/avplayerinterstitialeventmonitorschedulerequestidentifierkey.md)
- [AVPlayerInterstitialEventMonitorScheduleRequestResponseKey](avfoundation/avplayerinterstitialeventmonitorschedulerequestresponsekey.md)
- [AVPlayerItemIntegratedTimeline](avfoundation/avplayeritemintegratedtimeline.md)
