Tutorial
How To Add Audio Using HTML5
Introduction
Thanks to the HTML5 audio
element, gone are the days of having to use Flash to include audio files on a web page. In this brief tutorial we’ll demonstrate how to add audio to your HTML using the new tag.
Prerequisites
- A general knowledge of HTML5. For a comprehensive review of the HTML5 markup language, explore our series, How To Build a Website in HTML.
Adding Audio to HTML5 Using the <audio>
Tag
This is how you add audio to HTML5 using the <audio>
tag:
<audio controls loop autoplay preload="none"
src="deep-house-track.mp3">
</audio>
There are a few attributes you can use with the audio element:
-
controls
adds controls for play/pause, volume and seeking -
loop
will repeat the playback -
autoplay
plays the audio automatically -
preload
can take the values none, metadata, or auto. The default is auto. It can be good to set it to none on pages where you include multipleaudio
elements, preventing the browser from downloading all the audio data.
Format support
You may want to provide multiple formats because MP3 is not an open format, therefore some browsers can’t support it. A free format, Ogg, would be great across the board, but it’s not supported by all browsers. See here for a list of browser format support. Use the source
element within the audio
element to provide different formats:
<audio>
<source src="deep-house-track.ogg">
<source src="deep-house-track.mp3">
</audio>
And you can be even more exhaustive by providing a type
:
<audio>
<source src="deep-house-track.ogg"
type="audio/ogg">
<source src="deep-house-track.mp3"
type="audio/mp3">
</audio>
And you can provide extra markup for browsers that don’t support audio
:
<audio>
<source src="deep-house-track.ogg">
<source src="deep-house-track.mp3">
<p>Your browser doesn't support this,
<a href="…">download the file</a>.</p>
</audio>
This is the basic functionality of the new <audio>
element in HTML5.
Conclusion
The <audio>
element is a significant new feature of HTML. To check for browser support, you can use the Browser Support lookup for <audio>
on the Can I Use website
Or, for a more comprehensive review of the HTML5 markup language, explore our series, How To Build a Website in HTML.