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, e 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() somente 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. Veja um exemplo disso em simpl.info/video/scripted.

Qual é o motivo da mudança?

O recurso de reprodução automática foi desativado nas 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. É possível decodificar vídeo em JavaScript, mas consome muito a bateria.

Compare os seguintes exemplos: o primeiro é um vídeo e o segundo é um GIF animado:

Reprodução do clipe de vídeo.

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 cautelosos 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 focada na mídia. Designers e desenvolvedores continuam encontrando maneiras novas e imprevistas de usar vídeos e querem um comportamento consistente em todas as plataformas, por exemplo, ao usar o vídeo em segundo plano como 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: a reprodução automática ainda está desativada no Chrome para Android, porque a reprodução automática com o som desativado não faz muito sentido para áudio.
  • 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 funciona para qualquer elemento de vídeo visível em qualquer documento visível, iframe ou não.
  • 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