使用JavaScript播放或暂停音频文件(onkeydown)

时间:2016-11-05 21:19:23

标签: javascript function events audio keycode

我有以下代码,当按下shift(KeyCode:16)时,它可以完美地播放音频文件。

我想要做的是再次按下shift并暂停歌曲。我应该有可能多次播放/暂停。

HTML:

<audio id="audio" src="audio/song.mp3" autostart="false"></audio>

JavaScript的:

    var sound = {
    16: 'audio'

};

document.onkeydown = function (e) {
    var soundId = sound[e.keyCode];
    if (soundId) document.getElementById(soundId).play();
    else console.log("key not mapped : code is", e.keyCode);
}

1 个答案:

答案 0 :(得分:1)

检查音频是否暂停,如果是,播放,否则暂停

var sound = {
    16: 'audio'
};

document.addEventListener('keydown', function(e) {
    var soundId = sound[e.which || e.keyCode];

    if (soundId) {
        var elem = document.getElementById(soundId);

        if ( elem.paused ) {
            elem.play();
        } else {
            elem.pause();
        }
    } else {
        console.log("key not mapped : code is", e.keyCode);
    }
});