Create view-level services for media playback, complete with user controls, chapter navigation, and support for subtitles and closed captioning.


The AVKit framework provides a high-level interface for playing video content.



class AVCaptureView

AVCaptureView is a subclass of NSView that can be used to display standard user interface controls for capturing media data.

class AVContentProposal

An AVContentProposal describes content proposed to follow the current item (for example, the next episode of the same series). It models the data about the proposed content such as its title, preview image, presentation time, and content URL.

class AVContentProposalViewController

AVContentProposalViewController is a subclass of UIViewController used to create custom content proposal presentations. Your app should subclass this class and provide the interface to present your content proposal.

class AVInterstitialTimeRange

An AVInterstitialTimeRange identifies a time range in an audiovisual presentation as interstitial content, such as advertisements or legal notices.

class AVNavigationMarkersGroup

An AVNavigationMarkersGroup represents a set of markers for navigating playback of an audiovisual presentation. The most common form of a navigation markers group is a chapter list; however, you can also provide other sets of markers to allow a user to jump to significant events in the presentation. For example, a “Goals Scored” markers group might summarize key moments in a recorded sporting event. When you associate navigation markers with an AVPlayerItem object you present with an AVPlayerViewController, the user interface provides options for navigating each group.

class AVPictureInPictureController

An AVPictureInPictureController lets you respond to user-initiated playback of video in a floating, resizable window on iPad.

class AVPlayerView

AVPlayerView is an NSView subclass used to display the visual content of an AVPlayer object and present standard controls to manage its playback. Using AVPlayerView, you can easily build media players with the same core playback features of QuickTime Player.

class AVPlayerViewController

AVPlayerViewController displays the video content of an AVPlayer object along with system-supplied playback controls.


protocol AVCaptureViewDelegate

The AVCaptureViewDelegate protocol defines the interface for delegates of AVCaptureView.

protocol AVPictureInPictureControllerDelegate

The AVPictureInPictureControllerDelegate protocol defines methods you can implement to configure your app’s user interface when participating with the Picture in Picture (PiP) feature on iPad, and to respond to user interactions with the PiP window.

protocol AVPlayerViewControllerDelegate

The player view controller delegate protocol defines methods you can implement to respond to media playback events associated with an AVPlayerViewController object. On iPad, you can implement methods to manage your app’s participation with Picture in Picture (PiP) playback. On Apple TV, you can implement methods related to playback navigation, interstitial content, and content proposals.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software