-
Crie uma experiência integrada de reprodução com várias visualizações
Saiba como criar experiências avançadas de reprodução com várias visualizações em seu app. Vamos abordar como sincronizar a reprodução entre vários jogadores, melhorar a reprodução multivisual com a integração fluida do AirPlay e otimizar a qualidade da reprodução para proporcionar experiências envolventes com várias visualizações.
Capítulos
- 0:00 - Introdução
- 2:08 - Coordenação da reprodução com visualizações múltiplas
- 9:09 - Compatibilidade com o AirPlay em um app com experiências de visualizações múltiplas
- 14:14 - Otimizar a qualidade dos streams em visualizações múltiplas
Recursos
Vídeos relacionados
WWDC21
-
Buscar neste vídeo...
-
-
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 - Introdução
Saiba como criar experiências de reprodução com visualização múltipla usando fluxos sincronizados ou não. Por exemplo, vários ângulos de um jogo de futebol e streams não sincronizados de diferentes eventos. Você pode usar as APIs AVFoundation e AVRouting para sincronização, roteamento do AirPlay e otimização da qualidade de reprodução em vários reprodutores.
- 2:08 - Coordenação da reprodução com visualizações múltiplas
O AVPlaybackCoordinationMedium, do framework AVFoundation, simplifica a sincronização da reprodução em vários reprodutores de vídeo em um app. O framework lida com comportamentos complexos, como mudanças de velocidade, avanços no tempo, travamentos, interrupções e sincronização ao iniciar. Ao conectar o AVPlayer ao meio de coordenação, ações como reproduzir, pausar e buscar são aplicadas automaticamente a todos os reprodutores sincronizados.
- 9:09 - Compatibilidade com o AirPlay em um app com experiências de visualizações múltiplas
Com o AirPlay, as pessoas podem transmitir vídeo de seus dispositivos em telas maiores ou transmitir áudio nos HomePods. Para experiências com visualização múltipla, com diversos streams simultâneos, use o AVRoutingPlaybackArbiter para gerenciar qual stream é roteado para um dispositivo externo. Por padrão, o arbiter prioriza o stream da pessoa para reprodução externa. Por exemplo, em um app de vídeo com visualização múltipla, o vídeo de visão aérea pode ser definido como o stream preferido para que seja reproduzido automaticamente na Apple TV quando o AirPlay estiver ativado, enquanto a visualização aproximada continua no iPad. As pessoas podem alternar facilmente entre streams atualizando o reprodutor preferido. O arbiter gerencia o roteamento do áudio, garantindo que o HomePod reproduza o stream preferido quando o áudio for roteado externamente. Assim, as pessoas controlam facilmente sua experiência de reprodução com visualização múltipla, com a capacidade de pausar, reproduzir e alternar streams enquanto mantêm a sincronização.
- 14:14 - Otimizar a qualidade dos streams em visualizações múltiplas
Na transmissão de conteúdo com visualização múltipla, diferentes streams podem ter importância variável. Por exemplo, uma visão aérea de um campo esportivo pode ser mais útil do que imagens aproximadas dos torcedores. Para otimizar a qualidade da reprodução com base nisso, use o ajuste networkResourcePriority do AVPlayer. Assim, você atribui alta prioridade aos streams essenciais para que recebam mais largura de banda e tenham maior resolução, e os streams menos importantes podem ter prioridade baixa, consumindo menos largura e sendo reproduzidos em resolução menor. Quando as condições de rede são limitadas, o sistema ajusta automaticamente a resolução dos fluxos com base na prioridade, preservando a qualidade do conteúdo mais importante para as pessoas.