Playback interfaces
Present video with the system player, complete with transport controls and Picture in Picture.
Overview
AVKit provides the best way to build a playback interface for your app. The player it presents is the one people use in the apps that come with their devices, so its controls need no explanation. It also connects to the system features that surround playback, from Now Playing to Picture in Picture and AirPlay. Your work goes into your content instead of into controls.
The same player provides the right playback experience on supported Apple platforms. Video expands to full screen on iPad and iPhone, and keeps playing in a corner when someone switches apps. The transport bar answers the remote on Apple TV, where the player can also offer what to watch next. On Mac, it sits in a window with trimming. On Apple Vision Pro it grows from inline video to a large screen or a fully immersive scene. As the system player gains new behavior, your app picks it up.
For information about managing playback itself, see Media playback.
Topics
Standard player interfaces
Playing video content in a standard user interfaceCustomizing the tvOS playback experienceAdopting the system player interface in visionOSAVPlayerViewControllerAVPlayerViewControllerDelegateAVPlayerViewAVPlayerViewDelegateVideoPlayer
Immersive and multiview media
Playing immersive media with AVKitCreating a multiview video playback experience in visionOSAVExperienceControllerAVMultiviewManagerAVGroupExperienceCoordinatorAVViewportAVPortalViewport
Interstitials and markers
Working with interstitial contentPresenting navigation markersAVInterstitialTimeRangeAVNavigationMarkersGroup
Content proposals and parental controls
Presenting content proposals in tvOSWorking with overlays and parental controls in tvOSAVContentProposalAVContentProposalActionAVContentProposalViewController
Media trimming and export
Implementing trimming in a macOS playerTrimming and exporting media in visionOSAVPlayerViewTrimResult
Display management
Picture in Picture
Adopting Picture in Picture in a standard playerAdopting Picture in Picture in a custom playerAdopting Picture in Picture for video callsAdopting Picture in Picture playback in tvOSAVPictureInPictureControllerAVPictureInPictureControllerDelegateAVPictureInPictureSampleBufferPlaybackDelegateAVPictureInPictureVideoCallViewControllerAVPlayerViewPictureInPictureDelegate