Player de Vídeos com AVKit

Jéssica Amaral
Apple Developer Academy | UFPE
3 min readApr 30, 2020

Estava fazendo um projeto para o playgrounds do Xcode e precisava de uma "animação" após a passagem entre views, porém, como já possuía alguns vídeos prontos que simulavam tal animação, fui em busca de como poderia usá-los para fazer uma famosa "gambiarra". Foi então que me veio a ideia de utilizar o player do AVKit para passar o vídeo logo que a view fosse carregada. Durante as minhas pesquisas, me deparei com muitas dúvidas sobre como fazer um player com vários vídeos, onde fosse possível navegar entre os vídeos. A partir daí decidi fazer esse tutorial.

Comecei a programar em Swift há poucos meses, então pode ser que o código que compartilharei aqui não seja o mais otimizado possível, mas atende bem à proposta.

Bem, chega de ladainha e vamos ao que interessa.

Passo 1:

A primeira coisa que precisamos fazer é importar o AVKit para termos acesso às suas funções.

Passo 2:

Agora vamos criar a playlist dos vídeos que irão ser reproduzidos no seu player. Para isso, devemos primeiro criar um array de videos (AVPlayerItem’s).

Passo 3:

Você deverá adicionar todos os vídeos na pasta "Resources" do seu playground.

Clique nesse ícone, localizado no canto superior direito, para mostrar o navegador
Arraste seus vídeos até a pasta Resources (Pode ser qualquer formato, eu testei com .mov e .mp4)

Passo 4:

Agora que os vídeos estão adicionados, vamos colocá-los no array que criamos. (Repita os passos abaixo para todos os seus vídeos).

Passo 5:

A seguir deveremos criar o AVPlayer (onde seu vídeos serão reproduzidos) e uma AVPlayerLayer (permitirá que você edite a aparência do seu player). Para isso vamos precisar, inicialmente, criar as variáveis para ambos. Além disso iremos criar uma variável que guardará o índice do vídeo que estará sendo reproduzido.

Passo 6:

Agora vamos preparar o player para ser exibido em sua view (o código abaixo deve estar após o código do "Passo 4").

O seu player está pronto para rodar, mas antes precisamos criar uma view e alguns botões que nos permitirão interagir com o player.

Passo 7:

Criar a view e os botões. Como o foco principal aqui é mostrar as funções do AVKit para a criação do player, então fiz uma interface bem simples para a explicação.

Note que no código acima eu usei a função addTarget(), elas chamarão a IBAction com as ações que serão realizadas após clicar em cada botão.

Passo 8:

Adicionar os botões e o AVPlayerLayer à view (geralmente coloco o código abaixo logo antes de fechar as chaves da função loadView(), por questão de organização e estética do código mesmo).

Passo 9:

Pronto, agora só falta criarmos a IBAction com as ações dos botões! Note que no "Passo 7" todos os botões têm a mesma IBAction como alvo, a "videoPlayer(sender:)", então vamos criá-la.

O código abaixo deve ser colocado dentro da sua ViewController, mas fora da função loadView().

Passo 10:

Prontinho!! Agora é só rodar o seu player de vídeos.

Espero que esse tutorial tenha ajudado, o código completo você pode ver aqui.

--

--