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.




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


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.


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.


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


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.


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


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.


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



The AVCaptureViewDelegate protocol defines the interface for delegates of AVCaptureView.


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.


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.


Extended Types


AVPlayerItem models the timing and presentation state of an asset played by an AVPlayer object. It provides the interface to seek to various times in the media, determine its presentation size, identify its current time, and much more.