ℹ Player de video com as funcionalidades existentes no atual player da Netflix Web.
Recursos | Tecnologias | Como Utilizar | Propriedades | Eventos | Modos | Controles | Como Desenvolver
- Reprodução de vídeos com Loading e Memória temporária;
- Listagem de lista de reprodução com marcação do vídeo em atual;
- Ação para prosseguir para o próximo item;
- Ação definida ao fim do vídeo;
- Recursos de Play/Pause, Avançar/Retroceder e FullScreen;
- Suporte a múltiplos links de reprodução;
- Informações da mídia em execução;
- Playback Rate, Possibilitando alterar a velocidade de Reprodução;
- Sistema de ocultação dos controles mediante tempo de espera;
- Customização de cor (Feature);
- Tratamento de erros.
No desenvolvimento desse projeto foi ultilizado
Qualidade de Código
Em seu projeto react, execute o comando npm install react-netflix-player
para adicionar o react-netflix-player em seu projeto.
Após realize o import do componente no arquivo que deseja adicionar o player
import ReactNetflixPlayer from "react-netflix-player"
Pronto, seu componente já está pronto para ser utililado, basta criá-lo em seu arquivo.
<ReactNetflixPlayer/>
Parâmetro Obrigatório
Vídeo ou endereço do vídeo a ser reproduzido
Ao alterar esse parâmetro todo o estado do componente é restaurado para o inicial, como informações de posição, buffer e controles.
Texto ao ser exibido como título do vídeo em execução, este texto aparece quando o vídeo fica em situação PAUSADO por muito tempo.
Se essa informação não for informada, nenhuma informação será exibida na tela.
Texto auxiliar ao parâmetro de title, sua informação será exibida abaixo do título se informada.
Texto localizado na barra de controles, seguindo o design da Netflix, este campo contém o Título da Produção em andamento, pode ser usado para inserir o nome da lista de reprodução.
Se não for enviado, nenhuma informação será apresentada na barra de controles
Texto auxiliar ao parâmetro de titleMedia, sua informação será exibida ao lado do título se informada.
Parâmetro informa se player deve ocupar toda a área da WebView, por padrão é setado como true
Observações: Esse parâmetro não se refere ao modo FullScreen do navegador. Se esse parâmetro for passado como false, o player ocupara a área disponível informada em seu componente pai.
Informa se o botão de voltar ⬅ será visível quando os controles estiverem ativos, por padrão ele está desativado.
Informa se o vídeo deverá iniciar automáticamente, por padrão o valor é false
Informa em qual segundo a reprodução do vídeo deverá iniciar
Informa se as opções de Playback Rate podem ser acessadas, por padrão o valor é true
Observações: As opções não podem ser alteradas. Disponíveis as velocidades 0.25, 0.5, 0.75, Normal, 1.25, 1.5 e 2.
Objeto com os dados a serem redenizados na área de Próximo Vídeo, este parâmetro não é obrigatório para utilizar a funcionalidade. É possível enviar somente a função a ser executada.
{
title: 'Texto a ser exibido',
description: 'Descrição'
}
Array com itens que compõem a lista de reprodução, devem ser informados já ordenados
Os itens devem ser informados como objetos
{
id: int // Identificador, será enviado a função informada,
playing: boolean // Utilizado para diferenciar o item que está em reprodução no momento
}
Função disparada no momento em que o vídeo se tornar pronto para reprodução.
Ela tem a mesma função do evento onCanPlay() da tag
Função disparada a cada alteração de frames do vídeo.
Ela tem a mesma função do evento onTimeUpdate() da tag
Função disparada ao término do vídeo
Ela tem a mesma função do evento onEnded() da tag
Função disparada quando um erro acontecer na reprodução/busca do vídeo.
Ela tem a mesma função do evento onErrorVideo() da tag
Função disparada ao clicar no controle de Próximo Video, sem esse parâmetro o ícone não estará disponível
Função disparada ao selecionar um ítem da lista de reprodução criada com o parâmetro reprodutionList, será enviada a função o id relacionado ao item
Função disparada ao fechar o vídeo
Observações: O Fechar vídeo só estará disponível enquanto o vídeo não estiver pronto para reprodução.
Ele foi implementado como fulga do usuário caso o vídeo demore muito a iniciar. O parâmetro não é obrigatório e a sua ausência não remove o ícone de fechar, sendo aconselhável a sua implementação.
Array com as qualidades da mídia em execução.
Não deve ser implemtado na atual versão do Player
Caso ocorra algum erro com o vídeo em execução, será renderizado a informação do erro, com a listagem de outros links, para que o usuário possa tentar reproduzir o vídeo em outra qualidade.
-
O botão de fechar é exibido
-
A função onErrorVideo será disparada.
Quando o mouse não se move por mais de 5 segundos, automáticamente os controlles são ocultados em tela, voltando a aparecer ao mover o cursor do mouse.
O standby, é uma tela visível quando o vídeo está pausado e não existe moviementos do cursor de mouse.
Ao mover o mouse, ou executar o play pelo space o modo é desativado
Quando o vídeo está buscando frames para reprodução e não existem frames suficientes o loading é ativado
Coloca player em modo de Tela Cheia ou Sai do modo de tela cheia
Dispara o evento Pause/Play
Ao exibir o componente, ele inicia a busca dos dados do vídeo, até o vídeo estar pronto para reprodução.
Controles disponível com o vídeo em execução.
Observações: Player configurado com todas as propriedades aceitáveis, no modo FullScreen
Player PAUSADO em estado de standby, as informações do título são renderizadas.
Para testar/desenvolver o projeto siga os seguintes passos.
NodeJs ⬇ Baixe aqui.
Git ⬇ Baixe aqui.
Com o node instalado, faça o clone do projeto
git clone https://github.com/Lucasmg37/react-netflix-player
Navegue até a pasta do projeto e instale as dependências
npm install
Terminado, você já pode começar a desenvolver
Na pasta example coontém a implementação do player para testes
Para rodar a aplicação, execute
npm start
Um servidor local estará disponível para visualização
Geralmente o endereço será o http://localhost:8080/
Caso não seja, verifique o endereço listado em seu terminal após o comando anterior.
✔ O Player será renderizado com um vídeo de teste. Se este estiver indisponível, altere no arquivo example/index.js a propriedade src do componente para um endereço válido.
Para fazer o build, execute
npm run build
O arquivo final estará disponível na pasta dist
Chegou a hora de virar um contribuidor! Siga estes passos.
- Faça um fork do projeto.
- Crie uma nova branch com as suas alterações:
git checkout -b my-feature
- Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feature: My new feature"
- Envie as suas alterações:
git push origin my-feature
Em pouco tempo você será retornado.
Caso tenha alguma dúvida confira este guia de como contribuir no GitHub
Este projeto esta sobe a licença MIT.
Feito com ❤ e ☕ por Lucas Dias. 👋🏽 Entre em contato!