es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

JavaScript: cómo detener un audio en autoplay usando el teclado

Quiero saber cómo detener un audio que está configurado para “reproducir automáticamente” utilizando la tecla X del teclado. He intentado en un par de métodos pero no funciona.
Este es mi código:

JavaScript:

var source = “audio/homepage_benvenuto.mp3”;
var audio = document.createElement(“audio”);
audio.autoplay = true;
audio.load()
audio.addEventListener(“load”, function()
{
audio.play();
}, true);
audio.src = source;

window.addEventListener(“keydown”, checkKeyPressed, false);
function checkKeyPressed(e)
{
if (e.keyCode == “88”) // 88 = X: interrumpe audio en curso
{
player.pause();
player.currentTime = 0;
document.getElementById(‘audioA’).pause();
}
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para detener un audio que está configurado para reproducirse automáticamente usando la tecla X del teclado, puedes agregar un event listener para comprobar cuando se presione la tecla X y pausar el audio usando el método pause(). Aquí te mostramos una forma de modificar tu código:

    var source = "audio/homepage_benvenuto.mp3";
    var audio = document.createElement("audio");
    audio.autoplay = true;
    audio.load();
    audio.addEventListener("load", function() 
    { 
        audio.play();
    }, true);
    audio.src = source;
    
    window.addEventListener("keydown", checkKeyPressed, false);
    function checkKeyPressed(e) 
    {
        if (e.keyCode == 88) // 88 = X: interrompe audio in corso
        {
            audio.pause();
        }
    }
    

    En este código modificado, agregamos un event listener al objeto window que escucha un evento de teclado. Cuando se presiona la tecla X (keyCode 88), se llama a la función checkKeyPressed y se pausa el audio usando el método pause().

Comments are closed.