How to play a notification sound on websites? How to play a notification sound on websites? javascript javascript

How to play a notification sound on websites?


2021 solution

function playSound(url) {  const audio = new Audio(url);  audio.play();}
<button onclick="playSound('https://your-file.mp3');">Play</button>  

Browser support

Edge 12+, Firefox 20+, Internet Explorer 9+, Opera 15+, Safari 4+, Chrome

Codecs Support

Just use MP3


Old solution

(for legacy browsers)

function playSound(filename){  var mp3Source = '<source src="' + filename + '.mp3" type="audio/mpeg">';  var oggSource = '<source src="' + filename + '.ogg" type="audio/ogg">';  var embedSource = '<embed hidden="true" autostart="true" loop="false" src="' + filename +'.mp3">';  document.getElementById("sound").innerHTML='<audio autoplay="autoplay">' + mp3Source + oggSource + embedSource + '</audio>';}
<button onclick="playSound('bing');">Play</button>  <div id="sound"></div>

Browser support

Codes used

  • MP3 for Chrome, Safari and Internet Explorer.
  • OGG for Firefox and Opera.


As of 2016, the following will suffice (you don't even need to embed):

let src = 'https://file-examples.com/wp-content/uploads/2017/11/file_example_MP3_700KB.mp3';let audio = new Audio(src);audio.play();

See more here.


One more plugin, to play notification sounds on websites: Ion.Sound

Advantages:

  • JavaScript-plugin for playing sounds based on Web Audio API with fallback to HTML5 Audio.
  • Plugin is working on most popular desktop and mobile browsers and can be used everywhere, from common web sites to browser games.
  • Audio-sprites support included.
  • No dependecies (jQuery not required).
  • 25 free sounds included.

Set up plugin:

// set up configion.sound({    sounds: [        {            name: "my_cool_sound"        },        {            name: "notify_sound",            volume: 0.2        },        {            name: "alert_sound",            volume: 0.3,            preload: false        }    ],    volume: 0.5,    path: "sounds/",    preload: true});// And play sound!ion.sound.play("my_cool_sound");