Search code examples
javascriptaudioonclick

Javascript Audio Play on click


I have a JavaScript code to play a sound on click. It works on Chrome but on Firefox it starts on load.

Can anyone help?

<script>
var audio = new Audio("http://music.ogg");

audio.oncanplaythrough = function(){
audio.play();
}

audio.loop = true;

audio.onended = function(){
audio.play();
}

</script>

<input type="image" src="http://button.png" onclick="audio.play()">

Solution

  • Try the below code snippet

    <!doctype html>
    <html>
      <head>
        <title>Audio</title>
      </head>
      <body>
    
        <script>
          function play() {
            var audio = document.getElementById("audio");
            audio.play();
          }
        </script>
    
        <input type="button" value="PLAY" onclick="play()">
        <audio id="audio" src="https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3"></audio>
    
      </body>
    </html>