Reprodução automática silenciada em dispositivos móveis: diga adeus aos truques de tela e GIFs animados.

A reprodução automática de vídeo em silêncio tem suporte do Chrome para Android a partir da versão 53. A reprodução de um elemento de vídeo vai começar automaticamente quando ele aparecer na tela se autoplay e muted estiverem definidos. A reprodução de vídeos silenciados pode ser iniciada pragmaticamente com play(). Antes, a reprodução em dispositivos móveis precisava ser iniciada por um gesto do usuário, independentemente do estado de silêncio.

<video playsinline autoplay muted>
    <source src="video.webm" type="video/webm" />
    <source src="video.mp4" type="video/mp4" />
</video>

Confira como isso funciona neste exemplo. A reprodução do vídeo muted começa automaticamente no Chrome 53 ou mais recente.

Captura de tela do player de vídeo.

Além disso, a reprodução silenciada agora pode ser iniciada usando o método play(). Anteriormente, play() só iniciava a reprodução se viesse de um gesto do usuário, como um clique no botão. Compare as duas demos a seguir no Android. Teste-as no Chrome 53 e depois em uma versão mais antiga:

Recomendamos usar o atributo autoplay sempre que possível e o método play() apenas se necessário.

É possível desativar o som de um vídeo de forma programática em resposta a um gesto do usuário, como click. No entanto, se você tentar desativar o som de um vídeo de forma programática sem um gesto do usuário, a reprodução será pausada.

A mudança de muted autoplay também vai permitir o uso de play() com um elemento video não criado no DOM, por exemplo, para controlar a reprodução do WebGL.

O método play() também retorna uma promessa, que pode ser usada para verificar se a reprodução programática silenciada está ativada. Confira um exemplo em simpl.info/video/scripted.

Qual é o motivo da mudança?

O recurso de reprodução automática foi desativado em versões anteriores do Chrome no Android porque pode ser perturbador, consumir dados e muitos usuários não gostam dele.

A desativação da reprodução automática teve o efeito indesejado de levar os desenvolvedores a alternativas, como GIFs animados, além de hacks <canvas> e <img>. Essas técnicas são muito piores do que o vídeo otimizado em termos de consumo de energia, desempenho, requisitos de largura de banda, custo de dados e uso de memória. O vídeo pode oferecer uma qualidade maior do que os GIFs animados, com uma compactação muito melhor: cerca de 10 vezes em média e até 100 vezes na melhor das hipóteses. A decodificação de vídeo em JavaScript é possível, mas consome muita bateria.

Compare as seguintes opções: o primeiro é um vídeo e o segundo é um GIF animado:

Clipe de vídeo sendo reproduzido.

Eles são muito parecidos, mas o vídeo tem menos de 200 KB e o GIF animado tem mais de 900 KB.

O Chrome e outros fornecedores de navegadores são extremamente cuidadosos com a largura de banda do usuário. Para muitos usuários, em muitos contextos, o alto custo dos dados geralmente representa uma barreira maior ao acesso do que a conectividade ruim. Dada a prevalência de soluções alternativas, o recurso de reprodução automática com som desativado não pode ser bloqueado. Portanto, oferecer boas APIs e padrões é a melhor opção da plataforma.

A Web está cada vez mais centrada na mídia. Designers e desenvolvedores continuam a encontrar maneiras novas e imprevistas de usar vídeos e querem um comportamento consistente em todas as plataformas, por exemplo, ao usar vídeos em segundo plano como um elemento de design. O recurso de reprodução automática com som desativado permite funcionalidades como essa em dispositivos móveis e computadores.

Os pontos mais relevantes

  • Do ponto de vista de acessibilidade, a reprodução automática pode ser particularmente problemática. O Chrome 53 e versões mais recentes no Android oferecem uma configuração para desativar a reprodução automática completamente: em "Configurações de mídia", selecione "Reprodução automática".
  • Essa mudança não afeta o elemento audio: o recurso de reprodução automática ainda está desativado no Chrome para Android, porque não faz muito sentido usar o recurso de reprodução automática com som desativado.
  • Não há reprodução automática se o Modo Economia de dados estiver ativado. Se o modo Economia de dados estiver ativado, a reprodução automática será desativada nas configurações de mídia.
  • A reprodução automática com som desativado vai funcionar para qualquer elemento de vídeo visível em qualquer documento, iframe ou outro.
  • Para aproveitar o novo comportamento, você precisa adicionar muted e autoplay: compare simpl.info/video com simpl.info/video/muted.

Suporte

  • O autoplay desativado é compatível com o Safari no iOS 10 e versões mais recentes.
  • A reprodução automática, com ou sem som, já é compatível com o Android no Firefox e no UC Browser: eles não bloqueiam nenhum tipo de reprodução automática.

Saiba mais