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

时间:2015-12-18 22:45:37

标签: javascript

我有一些javascript代码,一旦有人输入konami代码就会被执行,如果它不是playind,我希望它可以播放,如果它正在播放,我想要暂停。我的代码似乎是错的。请帮忙!



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();
    }
  }
});




1 个答案:

答案 0 :(得分:0)

你应该这样做:

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
    }
  }
});

在输入代码后,您将取消绑定事件侦听器。您应该清理旧数据并再次开始等待它。