HTML Audio
Learn how to add music and sound to your website!
What is HTML Audio?
The HTML <audio> tag lets you play sound files directly in your web browser — no plugins needed!
- Music: Background music, songs
- Podcasts: Audio episodes and interviews
- Sound Effects: Click sounds, notifications
- Voice Overs: Narration and audio guides
Real-Life Example: Just like YouTube plays videos, the audio tag plays sound files on your website!
Basic Audio Tag
Example: Simple Audio Player
<audio src="song.mp3" controls>
Your browser does not support audio.
</audio>
src– Path to your audio filecontrols– Shows play/pause buttons- Text inside displays if audio doesn't work
Audio Controls
Example: Audio Player with Controls
<!-- ✅ With controls (recommended) -->
<audio src="music.mp3" controls></audio>
<!-- ❌ Without controls (user can't control it) -->
<audio src="music.mp3"></audio>
Important: Always add controls so users can play, pause, and adjust volume!
Autoplay and Loop
Example: Auto-playing Audio
<!-- Plays automatically when page loads -->
<audio src="welcome.mp3" autoplay controls></audio>
<!-- Loops continuously -->
<audio src="background.mp3" loop controls></audio>
<!-- Both autoplay and loop -->
<audio src="ambient.mp3" autoplay loop controls></audio>
Warning: Autoplay can be annoying! Most browsers block it unless the audio is muted.
Muted Audio
Example: Starting Muted
<!-- Starts muted (user can unmute) -->
<audio src="music.mp3" muted controls></audio>
<!-- Autoplay works better when muted -->
<audio src="background.mp3" autoplay muted loop controls></audio>
Audio Formats
Example: Multiple Format Support
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<source src="audio.ogg" type="audio/ogg">
<source src="audio.wav" type="audio/wav">
Your browser does not support audio.
</audio>
- MP3 – Most widely supported (recommended)
- WAV – High quality, large file size
- OGG – Open format, good quality
Pro Tip: Use MP3 format — it works in all modern browsers!
Preload Options
Example: Controlling When Audio Loads
<!-- Load entire audio file on page load -->
<audio src="song.mp3" preload="auto" controls></audio>
<!-- Load only metadata (duration, etc.) -->
<audio src="song.mp3" preload="metadata" controls></audio>
<!-- Don't load until user clicks play -->
<audio src="song.mp3" preload="none" controls></audio>
auto– Loads the whole filemetadata– Loads only basic infonone– Waits for user to play
Styling Audio Player
Example: Adding Custom Styles
<audio src="music.mp3" controls style="width: 100%;"></audio>
<audio src="podcast.mp3" controls class="audio-player"></audio>
Note: Default audio controls look different in each browser. For custom designs, use JavaScript!
Complete Audio Example
Example: Full Audio Implementation
<h2>Listen to Our Podcast</h2>
<audio controls preload="metadata">
<source src="podcast-episode-1.mp3" type="audio/mpeg">
<source src="podcast-episode-1.ogg" type="audio/ogg">
Your browser does not support the audio element.
<a href="podcast-episode-1.mp3">Download the podcast</a>
</audio>
<p>Episode 1: Introduction to Web Development</p>
Audio Accessibility
Example: Accessible Audio
<figure>
<figcaption>Relaxing Nature Sounds</figcaption>
<audio src="nature.mp3" controls>
Your browser does not support audio playback.
</audio>
</figure>
<!-- Provide transcript for accessibility -->
<details>
<summary>Audio Transcript</summary>
<p>[Full text transcript of the audio content]</p>
</details>
Accessibility Tip: Provide transcripts for users who are deaf or hard of hearing!
Best Practices
- Always include the
controlsattribute - Use MP3 format for best compatibility
- Avoid autoplay unless audio is muted
- Keep file sizes small (compress audio)
- Provide fallback text for unsupported browsers
- Add transcripts for accessibility
Pro Tip: Test your audio in different browsers to ensure it works everywhere!