-
Crea una experiencia de reproducción multivista fluida
Aprende a crear experiencias avanzadas de reproducción multivista en tu app. Hablaremos de cómo sincronizar varios reproductores, mejorar la reproducción multivista con una gran integración de AirPlay y optimizar la calidad para ofrecer experiencias de reproducción multivista atractivas.
Capítulos
- 0:00 - Introducción
- 2:08 - Coordinación de reproducción multivista
- 9:09 - Admite AirPlay en una app con experiencias multivista
- 14:14 - Optimiza la calidad de las transmisiones en multivista
Recursos
Videos relacionados
WWDC21
-
Buscar este video…
-
-
7:55 - Coordinate playback
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 } -
13:17 - Set preferred participant
import AVFoundation import AVRouting var closeUpVideo = AVPlayer() var birdsEyeVideo = AVPlayer() let routingPlaybackArbiter = AVRoutingPlaybackArbiter.shared() routingPlaybackArbiter.preferredParticipantForExternalPlayback = birdsEyeVideo routingPlaybackArbiter.preferredParticipantForNonMixableAudioRoutes = birdsEyeVideo -
16:15 - Set network resource priority
birdsEyeVideo.networkResourcePriority = .high closeUpVideo.networkResourcePriority = .low
-
-
- 0:00 - Introducción
Obtén información sobre cómo crear experiencias de reproducción de múltiples vistas con transmisiones sincronizadas y no sincronizadas. Por ejemplo, múltiples ángulos de un partido de fútbol y transmisiones no sincronizadas de diferentes eventos. Puede utilizar las API de AVFoundation y AVRouting para la sincronización, el enrutamiento de AirPlay y la optimización de la calidad de reproducción en múltiples reproductores.
- 2:08 - Coordinación de reproducción multivista
AVPlaybackCoordinationMedium de la estructura AVFoundation simplifica la sincronización de la reproducción entre múltiples reproductores de video en una app. La estructura maneja comportamientos complejos como cambios de velocidad, saltos en el tiempo, estancamientos, interrupciones y sincronización de inicio. Al conectar cada AVPlayer al medio de coordinación, acciones como reproducir, pausar y buscar se aplican automáticamente a todos los reproductores sincronizados.
- 9:09 - Admite AirPlay en una app con experiencias multivista
AirPlay permite a las personas transmitir videos desde sus dispositivos a pantallas más grandes o transmitir audio a sus HomePods. Para experiencias de visualización múltiple, donde se reproducen múltiples transmisiones simultáneamente, use AVRoutingPlaybackArbiter para administrar qué transmisión se enruta a un dispositivo externo. De forma predeterminada, el árbitro prioriza la transmisión preferida de la persona para la reproducción externa. Por ejemplo, en una app de video con múltiples vistas, el video en vista de pájaro se puede configurar como transmisión preferida, de modo que se reproduzca automáticamente en el Apple TV cuando AirPlay esté habilitado, mientras que la vista de primer plano continúa en el iPad. Las personas pueden cambiar fácilmente entre transmisiones actualizando el reproductor preferido. El árbitro también maneja el enrutamiento de audio, garantizando que la transmisión de audio preferida se reproduzca en un HomePod cuando el audio se enruta externamente. Esta integración perfecta permite a las personas controlar su experiencia de reproducción multivista sin esfuerzo, con la capacidad de pausar, reproducir y cambiar transmisiones mientras mantienen la sincronización.
- 14:14 - Optimiza la calidad de las transmisiones en multivista
En la transmisión de contenido con múltiples vistas, las diferentes transmisiones pueden tener distinta importancia. Por ejemplo, una vista aérea de un campo deportivo puede ser más crucial que los primeros planos de la multitud. Para optimizar la calidad de reproducción en función de estas prioridades, utilice la configuración networkResourcePriority de AVPlayer. Esto te permite asignar alta prioridad a las transmisiones esenciales, lo que garantiza que reciban más ancho de banda de red y mantengan una resolución más alta, mientras que las transmisiones menos importantes se pueden configurar con baja prioridad, consumiendo menos ancho de banda y reproduciéndose con una resolución más baja. Cuando las condiciones de la red son limitadas, el sistema ajusta automáticamente la resolución de las transmisiones en función de su prioridad, preservando la calidad del contenido más importante para las personas.