Video Now Playing View Configuration

I have questions about how the Video Now Playing experience for music apps is configured and what controls are available:

  • Subtitles / Closed Captions — Does the Video NPV support subtitle or closed caption selection?
  • Playback Speed — Is playback speed control surfaced in the CarPlay Video NPV UI?
  • Playback Controls — Beyond play/pause and seek, what controls are available on the Video NPV?
  • Fallback Behavior — When CPSessionConfiguration.supportsVideoPlayback becomes false mid-session (e.g., vehicle starts moving), how does the transition from video to audio-only Now Playing work? Is there a delegate callback, or should we observe supportsVideoPlayback via KVO?
  • Configuration Scope — Is the video playback surface fully driven by AirPlay streaming + CPPlaybackConfiguration, or are there additional configuration points we should be aware of for controlling the video NPV experience?
Answered by Frameworks Engineer in 891510022

In the session you can see the menus for subtitles & captioning and audio language selection: https://developer.apple.com/videos/play/wwdc2026/212/

Playback speed is not available when playing a video in CarPlay, but please file feedback using Feedback Assistant if that is a desired feature for your app.

supportsVideoPlayback represents if the CarPlay session supports video, even if video playback is not currently available. As shown in the session, this is helpful for knowing when to incorporate / prioritize video content in CarPlay, such as adding a videos tab or adjusting recommendations to also include videos.

Starting the video: If the CPPlaybackConfiguration's preferredPresentation is .video then CarPlay will automatically attempt to present as video when playback starts – if video playback is available. Otherwise if video playback is not available, the content will play as audio-only.

Transition from video to audio: If video playback becomes unavailable (or when navigating away from the video), the content can continue to play as audio-only. CarPlay will handle this transition automatically, and the audio will continue to play from the same HLS source.

For your last question, the other recommendation I have is to make sure your app correctly publishes now playing metadata and handles now playing controls (one option for this is the new Now Playing framework!) The now playing metadata provided by your app is how a video is represented when playing as audio-only, and the now playing metadata also appears in the video player.

In the session you can see the menus for subtitles & captioning and audio language selection: https://developer.apple.com/videos/play/wwdc2026/212/

Playback speed is not available when playing a video in CarPlay, but please file feedback using Feedback Assistant if that is a desired feature for your app.

supportsVideoPlayback represents if the CarPlay session supports video, even if video playback is not currently available. As shown in the session, this is helpful for knowing when to incorporate / prioritize video content in CarPlay, such as adding a videos tab or adjusting recommendations to also include videos.

Starting the video: If the CPPlaybackConfiguration's preferredPresentation is .video then CarPlay will automatically attempt to present as video when playback starts – if video playback is available. Otherwise if video playback is not available, the content will play as audio-only.

Transition from video to audio: If video playback becomes unavailable (or when navigating away from the video), the content can continue to play as audio-only. CarPlay will handle this transition automatically, and the audio will continue to play from the same HLS source.

For your last question, the other recommendation I have is to make sure your app correctly publishes now playing metadata and handles now playing controls (one option for this is the new Now Playing framework!) The now playing metadata provided by your app is how a video is represented when playing as audio-only, and the now playing metadata also appears in the video player.

Video Now Playing View Configuration
 
 
Q