Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

157
Views
Advertencia de la consola Howler JS y React AudioContext

Estoy usando howler.js en un componente simple que muestra un botón para reproducir un archivo de audio.

En la consola recibo la siguiente advertencia:

Error de contexto de audio

"No se permitió que se iniciara el AudioContext. Debe reanudarse (o crearse) después de un gesto del usuario en la página.

El sonido se reproduce sin ningún problema , pero no puedo deshacerme de esta advertencia.

De acuerdo con la advertencia, se debe realizar un gesto, que pensé que al hacer clic en el botón proporcionaría

Aquí está el código del componente:

 import React from "react"; import { useState } from "react"; import { Howl } from "howler"; export const Sound = ({ name, path }) => { const [playing, setPlaying] = useState(false); const Sound = new Howl({ src: [path], }); const playSound = () => { setPlaying(true); Sound.play(); }; return ( <div> <button onClick={() => playSound()}>{name}</button> <p>{playing ? "playing" : "Not playing"}</p> </div> ); };

Revisé varias preguntas/foros/problemas de github pero no puedo encontrar una solución

¡Se agradece cualquier ayuda o información sobre por qué aparece esto!

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que en este caso puedes ignorar esta advertencia. Se activa porque howler.js crea un AudioContext por adelantado.

https://github.com/goldfire/howler.js/blob/4537db79b3dca9ed490ee22cbb17048d4cba7316/src/howler.core.js#L2517

Ese AudioContext se reanuda automáticamente al llamar a play() .

https://github.com/goldfire/howler.js/blob/4537db79b3dca9ed490ee22cbb17048d4cba7316/src/howler.core.js#L822

Por lo tanto, la advertencia es molesta, pero los autores de howler.js ya la han solucionado. Pero si realmente quiere deshacerse de la advertencia, puede inicializar perezosamente la variable Sound justo antes de reproducirla.

 // ... let Sound; const playSound = () => { setPlaying(true); if (Sound === undefined) { Sound = new Howl({ src: [path] }); } Sound.play(); }; // ...

Eso debería hacer que la advertencia desaparezca.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!