在现场尝试了多种解决方案,没有一种工作:在Konami代码上播放<audio>

时间:2015-06-10 04:25:30

标签: javascript jquery html5 audio interactive

这是我关于Stack Overflow的第一个问题! :d 似乎有多个类似的问题,但我已经尝试了每个解决方案,但没有一个正在运行,但我决心深入研究这个问题。目标是在成功的konami代码输入时播放音频。

最简单的尝试如下(脚本位于头部内,而声音位于正文中。我已经尝试了每个解决方案,无论是否将它们封装在window.onload = function(){})中:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://konami-js.googlecode.com/svn/trunk/konami.js"></script>

<script type="text/javascript">
  konami = new Konami(function() {
    document.getElementById('audio').play();
  });
</script>



<audio id="audio">
  <source src="js/ZipZipper.ogg" type="audio/ogg">
    <source src="js/ZipZipper.mp3" type="audio/mpeg">
</audio>

另一次尝试看起来像这样:

var konami = new Konami(function() {
  var audioElement = document.createElement('audio');
  audioElement.setAttribute('src', 'js/ZipZipper.ogg');
  audioElement.load();
  audioElement.addEventListener("load", function() {
    audioElement.play();
  }, true);
});

另一个,就像这样,再次使用html音频标签

        konami = new Konami(playsong);
        playsong = function play() {
          var audio = document.getElementById("audio");
          audio.play();
        }

我不知道为什么没有任何作用。一切似乎都到位了!

1 个答案:

答案 0 :(得分:1)

根据docs,您可以这样做:

konami = new Konami();
konami.code = function(){
    document.getElementById('audio').play();
};
konami.load();

Fiddle Demo

注意:不确定这是否是konami序列必须如何,但工作顺序是 up,up,down,left,left,right,left,right,b,a,enter < / p>