在Java中播放相同音频时如何暂停音频

时间:2020-10-14 08:46:34

标签: javascript

我有这个代码

const gameSounds = {
  backgroundTheme: function(){
    const backgroundTheme = new Audio('./gameSounds/theme.mp3');

    if(backgroundTheme){
      backgroundTheme.pause();
    }
      backgroundTheme.play();
    
  }

我有一个开始按钮,我添加了一个单击事件监听器,当单击发生时,音频将开始播放,但此刻您可以多次单击开始按钮,并且音频将同时播放多次时间,这不是我想发生的事情。

我想到编写一个if语句,该语句将检查音频是否已经在播放,然后暂停或重新启动它,但是我不确定在尝试if(backgroundTheme.play())的if()中写入什么内容,但是没有用...有什么想法吗?

1 个答案:

答案 0 :(得分:1)

首先-您只需创建一次new Audio,然后再对其执行操作。

具有保存播放器状态的全局变量:

var audioObject;
var isPlaying = false;

const gameSounds = {
  backgroundTheme: function(){
    if (typeof audioObject === 'undefined') {
        audioObject = new Audio('./gameSounds/theme.mp3');
    }

    if(isPlaying){
      backgroundTheme.pause();
    } else {
      backgroundTheme.play();
    }

    isPlaying = !isPlaying;
  }