使用javascript命令播放/暂停音频文件

Play/pause audio file with javascript command

本文关键字:暂停 音频 文件 播放 javascript 命令 使用      更新时间:2023-09-26

我有一些javascript代码,一旦有人输入konami代码就会执行,如果没有播放,我希望它播放,如果正在播放,则暂停。我的代码似乎是错误的。请帮忙!

var rick = false;
var audio = new Audio('rick_roll.mp3');
var kkeys = [],
  konami = "38,38,40,40,37,39,37,39,66,65,13";
$(document).keydown(function(e) {
  kkeys.push(e.keyCode);
  if (kkeys.toString().indexOf(konami) >= 0) {
    $(document).unbind('keydown', arguments.callee);
    if (rick == false) {
      rick = true;
      audio.play();
    } else if (rick == true) {
      rick = false;
      audio.stop();
    }
  }
});

您应该这样做:

var rick = false;
var audio = new Audio('rick_roll.mp3');
var kkeys = [],
  konami = "38,38,40,40,37,39,37,39,66,65,13";
$(document).keydown(function(e) {
  kkeys.push(e.keyCode);
  if (kkeys.toString().indexOf(konami) >= 0) {
    kkeys = []; // <-- Change here
    if (rick == false) {
      rick = true;
      audio.play();
    } else if (rick == true) {
      rick = false;
      audio.pause(); // <-- another issue
    }
  }
});

输入代码后,您将解除事件侦听器的绑定。您应该清理旧数据,然后重新开始等待。