Jump to content
Camila Pimentel

Autoplay no Chrome

Recommended Posts

Camila Pimentel

Boa tarde, malta!

Como conseguir o autoplay no Google Chrome? Estou a usar um plugin jquery que inicia o áudio através do scroll mas surge-me este erro:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

Já percebi que o utilizar tem de interagir de alguma maneira (segundo me consta, através de um click ou assim), mas como fazê-lo na prática?

Obrigado.

Share this post


Link to post
Share on other sites
Cerzedelo
Em ‎05‎/‎09‎/‎2020 às 11:35, Camila Pimentel disse:

Boa tarde, malta!

Como conseguir o autoplay no Google Chrome? Estou a usar um plugin jquery que inicia o áudio através do scroll mas surge-me este erro:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

Já percebi que o utilizar tem de interagir de alguma maneira (segundo me consta, através de um click ou assim), mas como fazê-lo na prática?

Obrigado.

Esse erro tem a ver com a alteração das politicas do autoplay do chrome.

Existem 2 caminhos para alterar esse erro:

1 - altera as definições do Chrome em chrome://settings/content/sound e assinala No user gesture is required

2 - no código do HTML na tag <audio> a seguir a indicação do scr coloque autoplay="true" muted="muted"

<audio src="teste.mp3" autoplay="true" muted="muted"></audio>

O problema deste método é que vai iniciar o áudio quando a página for carregada.

2.1 - se usar o JavaScript tente a seguinte função:

$(document).ready(function(){ 
    $("#audio").prop('muted', true);
    $("#audio")[0].play();
});

 Pode consultar a referência  em https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

Share this post


Link to post
Share on other sites
M6
On 9/5/2020 at 11:35 AM, Camila Pimentel said:

Boa tarde, malta!

Como conseguir o autoplay no Google Chrome? Estou a usar um plugin jquery que inicia o áudio através do scroll mas surge-me este erro:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

Já percebi que o utilizar tem de interagir de alguma maneira (segundo me consta, através de um click ou assim), mas como fazê-lo na prática?

Obrigado.

Basicamente ou o utilizador dá permissão para tal, ou terás de - de alguma forma - fazer com que o utilizador faça uma ação para o som tocar.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Camila Pimentel
Em 07/09/2020 às 11:14, M6 disse:

Basicamente ou o utilizador dá permissão para tal, ou terás de - de alguma forma - fazer com que o utilizador faça uma ação para o som tocar.

Muito obrigado, @M6 e @Cerzedelo. como é que poderei colocar um botão para que o utilizador interaja com a página e assim conseguir com que o som toque? É algo complicado de se conseguir? Agradecida.

Edited by Camila Pimentel

Share this post


Link to post
Share on other sites
M6

Deverá ser bastante simples, deverá bastar um evento "onClick" que dê a ordem de tocar o som.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Camila Pimentel
4 horas atrás, M6 disse:

Deverá ser bastante simples, deverá bastar um evento "onClick" que dê a ordem de tocar o som.

Obrigada, @M6.

Este código bastará para isso? Como configurá-lo correctamente?

document.querySelector('button').addEventListener('click', function() {  

var context = new AudioContext(); 

// Setup all nodes   ... });

 

Share this post


Link to post
Share on other sites
M6

Sim, esse código deverá bastar.
Tens de colocar o id do botão na função querySelector e depois na função deverás colocar o código que já tens para tocar o áudio.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.