<!--
{
  "availability" : [
    "iOS: 8.0 -",
    "iPadOS: 8.0 -",
    "macCatalyst: 13.0 -",
    "macOS: 10.9 -",
    "tvOS: 9.0 -",
    "visionOS: 1.0 -",
    "watchOS: 9.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVKit",
  "identifier" : "/documentation/AVKit",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "AVKit"
    ],
    "preciseIdentifier" : "AVKit"
  },
  "title" : "AVKit"
}
-->

# AVKit

Create user interfaces for media playback, complete with transport controls, chapter navigation, picture-in-picture support, and display of subtitles and closed captions.

## Topics

### iOS playback and capture

[Playing video content in a standard user interface](/documentation/AVKit/playing-video-content-in-a-standard-user-interface)

Play media full screen, embedded inline, or in a floating Picture in Picture (PiP) window using a player view controller.

[`AVPlayerViewController`](/documentation/AVKit/AVPlayerViewController)

A view controller that displays content from a player and presents a native user interface to control playback.

[`AVPlayerViewControllerDelegate`](/documentation/AVKit/AVPlayerViewControllerDelegate)

A protocol that defines the methods to implement to respond to player view controller events.

[`AVCaptureEventInteraction`](/documentation/AVKit/AVCaptureEventInteraction)

An object that registers handlers to respond to capture events from system hardware buttons.

[`AVCaptureEvent`](/documentation/AVKit/AVCaptureEvent)

An object that describes a user interaction with a system hardware button.

[`AVCaptureEventSound`](/documentation/AVKit/AVCaptureEventSound)

A sound object for a capture event.

[`AVInputPickerInteraction`](/documentation/AVKit/AVInputPickerInteraction)

Use `AVInputPickerInteraction` to present an input picker.

[Third-party casting support](/documentation/AVKit/third-party-casting-support)

Provide custom playback controls for third-party casting services and other media sources.

### tvOS playback and capture

[Customizing the tvOS Playback Experience](/documentation/AVKit/customizing-the-tvos-playback-experience)

Adopt the latest features of the redesigned tvOS player user interface to provide a more streamlined way to watch your content.

[Presenting Navigation Markers](/documentation/AVKit/presenting-navigation-markers)

Present navigation markers in the Chapters panel to help users quickly navigate your content.

[Working with Interstitial Content](/documentation/AVKit/working-with-interstitial-content)

Present additional content alongside your main media presentation using HTTP Live Streaming support.

[Presenting Content Proposals in tvOS](/documentation/AVKit/presenting-content-proposals-in-tvos)

Display a preview of an upcoming media item at the conclusion of the currently playing media item.

[Working with Overlays and Parental Controls in tvOS](/documentation/AVKit/working-with-overlays-and-parental-controls-in-tvos)

Add interactive overlays, parental controls, and livestream channel flipping using a player view controller.

[Supporting Continuity Camera in your tvOS app](/documentation/AVKit/supporting-continuity-camera-in-your-tvos-app)

Capture high-quality photos, video, and audio in your Apple TV app by connecting
an iPhone or iPad as a continuity device.

[`AVPlayerViewController`](/documentation/AVKit/AVPlayerViewController)

A view controller that displays content from a player and presents a native user interface to control playback.

[`AVPlayerViewControllerDelegate`](/documentation/AVKit/AVPlayerViewControllerDelegate)

A protocol that defines the methods to implement to respond to player view controller events.

[`AVInterstitialTimeRange`](/documentation/AVKit/AVInterstitialTimeRange)

A time range in an audiovisual presentation for content with an interstitial designation, such as advertisements or legal notices.

[`AVNavigationMarkersGroup`](/documentation/AVKit/AVNavigationMarkersGroup)

A set of markers for navigating playback of an audiovisual presentation.

[`AVContentProposalViewController`](/documentation/AVKit/AVContentProposalViewController)

A view controller that proposes content to watch next.

[`AVDisplayManager`](/documentation/AVKit/AVDisplayManager)

A tvOS management object that controls whether a TV switches modes to match the video’s native mode.

[`AVContinuityDevicePickerViewController`](/documentation/AVKit/AVContinuityDevicePickerViewController)

A view controller that provides an interface to a person so they can select and connect a continuity device to the system.

[`AVContinuityDevicePickerViewControllerDelegate`](/documentation/AVKit/AVContinuityDevicePickerViewControllerDelegate)

An interface that responds to events from a continuity device picker view controller.

[Third-party casting support](/documentation/AVKit/third-party-casting-support)

Provide custom playback controls for third-party casting services and other media sources.

### visionOS playback

[Playing immersive media with AVKit](/documentation/AVKit/playing-immersive-media-with-avkit)

Adopt the system playback interface to provide an immersive video watching experience.

[Creating a multiview video playback experience in visionOS](/documentation/AVKit/creating-a-multiview-video-playback-experience-in-visionos)

Build an interface that plays multiple videos simultaneously and handles transitions to different experience types gracefully.

[Adopting the system player interface in visionOS](/documentation/AVKit/adopting-the-system-player-interface-in-visionos)

Provide an optimized viewing experience for watching 3D video content.

[Trimming and exporting media in visionOS](/documentation/AVKit/trimming-and-exporting-media-in-visionos)

Display standard controls in your app to edit the timeline of the currently playing media.

[`AVPlayerViewController`](/documentation/AVKit/AVPlayerViewController)

A view controller that displays content from a player and presents a native user interface to control playback.

[`AVPlayerViewControllerDelegate`](/documentation/AVKit/AVPlayerViewControllerDelegate)

A protocol that defines the methods to implement to respond to player view controller events.

[`AVExperienceController`](/documentation/AVKit/AVExperienceController)

An object that controls video experiences.

[`AVMultiviewManager`](/documentation/AVKit/AVMultiviewManager)

An object that manages viewing multiple videos at once.

[`AVGroupExperienceCoordinator`](/documentation/AVKit/AVGroupExperienceCoordinator)

An object that synchronizes viewing environment state across participants in a SharePlay session.

[`AVViewport`](/documentation/AVKit/AVViewport)

Provides configuration options for how content is displayed
in different viewing contexts. Use this object to customize the visual presentation
of your content.

[`AVPortalViewport`](/documentation/AVKit/AVPortalViewport)

Defines the visual parameters for content displayed within a portal frame.
Use this configuration to create cinematic viewing experiences with custom framing.

[Third-party casting support](/documentation/AVKit/third-party-casting-support)

Provide custom playback controls for third-party casting services and other media sources.

### macOS playback and capture

[Implementing Trimming in a macOS Player](/documentation/AVKit/implementing-trimming-in-a-macos-player)

Provide a QuickTime media-trimming experience in your macOS app.

[`AVPlayerView`](/documentation/AVKit/AVPlayerView)

A view that displays content from a player and presents a native user interface to control playback.

[`AVCaptureView`](/documentation/AVKit/AVCaptureView)

A view that displays standard user interface controls for capturing media data.

### Multiplatform playback and capture

[`VideoPlayer`](/documentation/AVKit/VideoPlayer)

A view that displays content from a player and a native user interface to control playback.

### Picture in Picture

[Adopting Picture in Picture Playback in tvOS](/documentation/AVKit/adopting-picture-in-picture-playback-in-tvos)

Add advanced multitasking capabilities to your video apps by using Picture in Picture playback in tvOS.

[Adopting Picture in Picture in a Standard Player](/documentation/AVKit/adopting-picture-in-picture-in-a-standard-player)

Add Picture in Picture (PiP) playback to your app using a player view controller.

[Adopting Picture in Picture in a Custom Player](/documentation/AVKit/adopting-picture-in-picture-in-a-custom-player)

Add controls to your custom player user interface to invoke Picture in Picture (PiP) playback.

[Adopting Picture in Picture for video calls](/documentation/AVKit/adopting-picture-in-picture-for-video-calls)

Add multitasking capability to your video-call apps by using Picture in Picture (PiP).

[Accessing the camera while multitasking on iPad](/documentation/AVKit/accessing-the-camera-while-multitasking-on-ipad)

Operate the camera in Split View, Slide Over, Picture in Picture, and Stage Manager modes.

[`AVPictureInPictureController`](/documentation/AVKit/AVPictureInPictureController)

A controller that responds to user-initiated Picture in Picture playback of video in a floating, resizable window.

### Legible media options

[`AVLegibleMediaOptionsMenuController`](/documentation/AVKit/AVLegibleMediaOptionsMenuController)

[`AVLegibleMediaOptionsMenuState`](/documentation/AVKit/AVLegibleMediaOptionsMenuState)

### Playback route selection

[`AVRoutePickerView`](/documentation/AVKit/AVRoutePickerView)

A view that presents a list of nearby media receivers.

[`AVAudioSessionRouteSelection`](/documentation/AVKit/AVAudioSessionRouteSelection)

Constants that indicate the audio route selection.

### Metadata

[AVKit Metadata Identifiers](/documentation/AVKit/avkit-metadata-identifiers)

Additional metadata that an asset contains.

### Errors

[`AVKitErrorDomain`](/documentation/AVKit/AVKitErrorDomain)

The domain of errors the framework generates.

[`AVKitError`](/documentation/AVKit/AVKitError-swift.struct)

A structure that represents a framework error.

[`AVKitError.Code`](/documentation/AVKit/AVKitError-swift.struct/Code)

Constants that identify framework error codes.

### Macros

[Macros](/documentation/AVKit/AVKit-macros)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)