【问题标题】:On click, how to make audio play all the way through?单击时,如何使音频一直播放?
【发布时间】:2025-12-01 11:25:01
【问题描述】:

所以我有一个图像,当我单击它时,我希望它一直播放。当我点击图像一旦播放完毕,但我想这样做,当垃圾邮件的人点击它时,它只播放一次,并且在重新启动音频之前一直播放。

这是我的 javascript:

        <script language="javascript" type="text/javascript">
    function playSound(soundfile) {
  document.getElementById("img").innerHTML=document.getElementById("img").innerHTML +
    "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
    }
        </script>

这是我的html:

<span id="img" onclick="playSound('assets/audio.mp3');">
    <img src="assets/img.jpg" name="img" width="350" height="350" border="0" id="img" />
    </span>

【问题讨论】:

    标签: javascript html audio onclick html5-audio


    【解决方案1】:

    如果是 HTML5,您可以维护一个音频对象检查状态并在已处于播放模式时拒绝请求:

    var audio = new Audio();
    
    function playSound(soundfile) {
      if(!audio.paused) return;
      audio.src = soundfile;
      audio.play();
    }
    

    【讨论】: