Reprodução de Mídia com PWA: continuar tocando quando o telefone estiver bloqueado?

Verifiquei que arquivos de áudio e vídeo não são reproduzidos se o telefone for bloqueado ou se o site estiver em segundo plano, no caso de o usuário acessar o fórum por meio da configuração PWA (tendo baixado a página para a tela inicial).

Existe alguma forma de alterar isso para permitir a reprodução na tela de bloqueio/em segundo plano quando acessado via PWA?


O que me surpreende é o seguinte: quando você acessa o fórum diretamente pela web, áudio e vídeo conseguem ser reproduzidos mesmo com o telefone bloqueado e quando o site vai para o segundo plano. O principal problema ocorre quando se usa o PWA.

Esse comportamento foi observado no iPhone.


Mais detalhes

Quando um usuário está no celular, espero que arquivos de áudio e mídia continuem sendo reproduzidos mesmo com o telefone bloqueado ou com o site em segundo plano.

No iOS, percebo que o comportamento básico é aceitável em ambos os casos, se o usuário acessar o site pela web móvel:

–Para arquivos de áudio (mp3, etc.), o arquivo continua sendo reproduzido quando o telefone está bloqueado e quando o site vai para o segundo plano. Isso é perfeito.

–Para arquivos de vídeo (mp4, etc.), a reprodução é interrompida quando o telefone é bloqueado ou quando o site vai para o segundo plano. No entanto, há um botão de reprodução na tela de bloqueio que os usuários podem pressionar para reiniciar a reprodução, e eles podem retomar a reprodução do vídeo quando o site estiver em segundo plano abrindo o Centro de Controle e pressionando o botão de play.

No entanto, se o usuário acessar o site por meio do PWA, nenhuma dessas opções funciona. Quando o telefone é bloqueado ou o site vai para o segundo plano, toda a reprodução é interrompida, e não há opção para reiniciar a reprodução (a menos que o usuário desbloqueie o dispositivo e retorne ao site).

2 curtidas

Isso é para arquivos carregados localmente, certo? Não para conteúdo incorporado, como vídeos do YouTube?

1 curtida

Eu já vi o mesmo comportamento tanto para arquivos carregados localmente quanto para embeds. Meu foco específico agora são os embeds.

1 curtida

Ok, então vamos adicionar um vídeo do YouTube para testar:

1 curtida

O vídeo do YouTube parece se comportar da mesma forma no Safari móvel e no PWA: não é possível reproduzi-lo em segundo plano ou na tela de bloqueio. Isso pode ocorrer porque o YouTube é único (eles bloqueiam a reprodução em segundo plano, a menos que você assine o YouTube Premium, por exemplo, o que pode ter impacto aqui).

Aqui estão alguns outros exemplos:

Incorporação do Vimeo:
https://vimeo.com/175708185

E incorporação de áudio:


Descobri que ambos funcionam conforme descrevi no iPhone:
–no acesso pelo Safari móvel, é possível reproduzir ambos em segundo plano e na tela de bloqueio (a única diferença é que o vídeo para de tocar quando o telefone muda para o estado de bloqueio/fundo, e você precisa tocar em reproduzir novamente)

–no acesso pelo PWA, nenhum dos dois toca em segundo plano ou na tela de bloqueio (não há opção de reproduzir em nenhum dos casos depois que o aplicativo vai para o fundo ou o telefone é bloqueado)

2 curtidas

Só para ficar na mesma página que você, você está falando do comportamento do iOS, certo?

2 curtidas

Sim. Só tenho um iPhone para testar. Não posso falar sobre o Android. (E todos esses embeds — tanto de vídeo quanto de áudio — funcionam em segundo plano sem problemas no Chrome do Mac, no Safari do Mac e também no PWA no desktop. O problema aqui é no mobile, e no meu caso, no iPhone.)

2 curtidas

Existe alguma maneira de manter o vídeo e o áudio do PWA tocando em segundo plano ou com a tela bloqueada no iPhone, como acontece na web móvel?

1 curtida

Não, porque o iOS não oferece suporte a isso para PWAs.

4 curtidas

Isso é esclarecedor de ouvir. Obrigado pela informação.

Acho que isso foi corrigido no iOS 15? Alguma atualização?

Isso funciona no Android, seja PWA ou não.

Na verdade, incorporar em uma página da web permite que você reproduza o áudio dos vídeos enquanto a tela está bloqueada, mas isso não funciona no aplicativo do YouTube.