【问题标题】:Play or pause an audio file (onkeydown) with JavaScript使用 JavaScript 播放或暂停音频文件 (onkeydown)
【发布时间】:2017-03-19 12:09:10
【问题描述】:

我有以下代码可以完美地在按下 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);
}

【问题讨论】:

    标签: javascript function events audio keycode


    【解决方案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);
        }
    });
    

    【讨论】:

    • 非常感谢,它有效 :) 你只是忘记了最后的')'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多