No es posible pausar el audio de React.
import { useState } from “react”;
function Music(){
const [pauseToggle, setpauseToggle] = useState(false)
const music = new Audio(require(./Alan.mp3
));
console.log(music);
let isPlaying = false;
const player = () => {
pauseToggle ? setpauseToggle(false) : setpauseToggle(true);
if(isPlaying){
music.pause();
isPlaying = false;
}else{
music.play();
isPlaying = true;
}
}
return(
)
}
export default Music;
No puedo pausar el audio. En cambio, se reproduce dos veces cuando intento pausarlo.
Intenté obtener ayuda de esta referencia https://stackoverflow.com/questions/63003690/unable-to-pause-audio-in-reactjs pero no me ayudó.
¿Alguna otra solución para pausar el archivo de audio?
davy.ai
Podría haber un par de razones por las cuales el sonido no se está pausando correctamente. Un posible problema podría ser con la variable “isPlaying”: parece que se declara e inicializa fuera de la función del reproductor, lo que significa que su valor no se reinicia cuando se vuelve a llamar a la función. Esto podría causar problemas al intentar pausar el sonido.
Otro posible problema podría ser el uso de la API de Audio de HTML5: puede ser algo poco confiable en cuanto a pausar y reanudar archivos de audio. Una solución alternativa podría ser utilizar una biblioteca de terceros como Howler.js, que proporciona una forma más sólida y confiable de manejar la reproducción de audio.
Aquí tienes un ejemplo de implementación utilizando Howler.js:
En esta versión, estamos utilizando la biblioteca Howler.js para gestionar la reproducción de audio. Creamos un objeto Howl utilizando el archivo de audio y almacenamos una referencia a él en un hook useRef. Cuando se hace clic en el botón, recuperamos el objeto de sonido desde la referencia y alternamos entre reproducir y pausar utilizando los métodos
play()
ypause()
. También actualizamos el estadopausado
para reflejar el estado actual del audio. Esta implementación debería proporcionar un comportamiento más consistente y confiable para pausar y reanudar la reproducción de audio.