使用jQuery通过.submit()事件播放音频

时间:2017-12-12 00:31:58

标签: javascript jquery html audio

我正在使用JQuery构建一个文本游戏,玩家可以穿过各个房间逃离洞穴(是的,这个洞穴有房间,不要问)。他们将命令输入表单以在房间中导航。游戏逻辑就在那里并且正常工作,我只想在他们到达特定房间时播放歌曲。到目前为止,我可以使用HTML音频标签来播放剪辑,但这只会在页面加载时发生。

如果我想在.submit()事件期间播放音频,那么函数会是什么样子?

以下是我的HTML的样子:

<audio id="song" src="Photos/song.mp3">
</audio>

我的JS有点太长了,在这里发布所有内容而不会让所有人混淆(这是重复的,因为我吮吸JS)但基本的要点是我有一个函数改变currentRoom变量并根据什么更新文本目前的房间是。所以我认为函数看起来像这样:

const $song = $("#song");
function playSong() {
  if (currentRoom = $r16) {
    $song.play();
  }
}

1 个答案:

答案 0 :(得分:0)

我最终使用.keyup()函数,无法使.submit()函数起作用。这是我的变量和函数最终看起来像:

      // Grab the audio html tag
      const $song = $("#song");
      // Tie the function to a keyup event
      $(document).keyup(playSong);
      // Function declaration
      function playSong() {
        // Keycode for the enter key
        const keyCode = 13;
        // If you hit enter and the current room changes to $r16
        if (event.which === keyCode && currentRoom === $r16) {
          // Hit the music
          $song[0].play();
        }
      }