Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2025 Audio & Video

WWDC25 · 20 min · Audio & Video

Create a seamless multiview playback experience

Learn how to build advanced multiview playback experiences in your app. We’ll cover how you can synchronize playback between multiple players, enhance multiview playback with seamless AirPlay integration, and optimize playback quality to deliver engaging multiview playback experiences.

Watch at developer.apple.com ↗

Transcript all transcripts

Chapters

  • 0:00 — Introduction
  • 2:08 — Multiview playback coordination
  • 9:09 — Support AirPlay in an app with multiview experiences
  • 14:14 — Optimize quality of the streams in multiview

Code shown on screen · 3 snippets

Coordinate playback swift · at 7:55 ↗
import AVFoundation

var closeUpVideo = AVPlayer()
var birdsEyeVideo = AVPlayer()

let coordinationMedium = AVPlaybackCoordinationMedium()

do {
  try closeUpVideo.playbackCoordinator.coordinate(using: coordinationMedium)
}catch let error {
  // Handle error
}

do {
  try birdsEyeVideo.playbackCoordinator.coordinate(using: coordinationMedium)
}catch let error {
  // Handle error
}
Set preferred participant swift · at 13:17 ↗
import AVFoundation
import AVRouting

var closeUpVideo = AVPlayer()
var birdsEyeVideo = AVPlayer()

let routingPlaybackArbiter = AVRoutingPlaybackArbiter.shared()

routingPlaybackArbiter.preferredParticipantForExternalPlayback = birdsEyeVideo

routingPlaybackArbiter.preferredParticipantForNonMixableAudioRoutes = birdsEyeVideo
Set network resource priority swift · at 16:15 ↗
birdsEyeVideo.networkResourcePriority = .high
closeUpVideo.networkResourcePriority = .low

Resources