HTML5 Audio

« Previous Next Chapter »

HTML5 provides a standard for playing audio.


Audio on the Web

Until now, there has never been a standard for playing audio on a web page.

Today, most audio are played through a plugin (like flash). However, not all browsers have the same plugins.

HTML5 specifies a standard way to include audio, with the audio element.

The audio element can play sound files, or an audio stream.


Audio Formats

Currently, there are 3 supported formats for the audio element:

Format IE 8 Firefox 3.5 Opera 10.5 Chrome 3.0 Safari 3.0
Ogg Vorbis No Yes Yes Yes No
MP3 No No No Yes
Wav No Yes Yes No Yes


How It Works

To play an audio file in HTML5, this is all you need:

<audio src="song.ogg" controls="controls">
</audio>

The control attribute is for adding play, pause, and volume controls.

Insert content between the <audio> and </audio> tags for browsers that do not support the audio element:

Example

<audio src="song.ogg" controls="controls">
Your browser does not support the audio element.
</audio>

Try it yourself »

The example above uses an Ogg file, and will work in Firefox, Opera and Chrome.

To make the audio work in Safari, the audio file must be of type MP3 or Wav.

The audio element allows multiple source elements. Source elements can link to different audio files. The browser will use the first recognized format:

Example

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg" />
  <source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>

Try it yourself »


Internet Explorer

Internet Explorer 8 does not support the audio element. In IE 9, there will be support for audio element.


All <audio> Attributes

Attribute Value Description
autoplay autoplay Specifies that the audio will start playing as soon as it is ready.
controls controls Specifies that controls will be displayed, such as a play button.
loop loop Specifies that the audio will start playing again (looping) when it reaches the end
preload preload Specifies that the audio will be loaded at page load, and ready to run. Ignored if autoplay is present.
src url Specifies the URL of the audio to play


« Previous Next Chapter »