The <audio> element has these attributes:
- global attributes (accesskey; class; contenteditable; contextmenu; dir; draggable; dropzone; hidden; id; lang; spellcheck; style; tabindex; title; translate)
- autoplay = "autoplay" or "" (empty string) or empty
Instructs the UA to automatically begin playback of the audio stream as soon as it can do so without stopping.
- preload = "none" or "metadata" or "auto" or "" (empty string) or empty
Represents a hint to the UA about whether optimistic downloading of the audio stream itself or its metadata is considered worthwhile.
- "none": Hints to the User-Agent that the user is not expected to need the audio stream, or that minimizing unnecessary traffic is desirable.
- "metadata": Hints to the User-Agent that the user is not expected to need the audio stream, but that fetching its metadata (duration and so on) is desirable.
- "auto": Hints to the User-Agent that optimistically downloading the entire audio stream is considered desirable.
- controls = "controls" or "" (empty string) or empty
Instructs the User-Agent to expose a user interface for controlling playback of the audio stream.
- loop = "loop" or "" (empty string) or empty
Instructs the User-Agent to seek back to the start of the audio stream upon reaching the end.
- mediagroup = string
Instructs the User-Agent to link multiple videos and/or audio streams together.
- muted = "muted" or "" (empty string) or empty
Represents the default state of the audio stream, potentially overriding user preferences.
- src = non-empty [URL] potentially surrounded by spaces
The URL for the audio stream.
<audio controls> <source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type='audio/mp4'> <source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga" type='audio/ogg; codecs=vorbis'> <p>Your user agent does not support the HTML5 Audio element.</p> </audio>
Supported audio coding formats
This table documents the current support for audio coding formats by the
|Browser||Operating system||Formats supported by different web browsers|
|Ogg Vorbis||WAV PCM||MP3||AAC||WebM Vorbis||Ogg Opus||WebM Opus|
|Google Chrome||All supported||9||Yes||Yes||Yes||Yes||25 (since v31 in Windows)||Yes|
|Mozilla Firefox||All supported||3.5||3.5||Windows (21.0), Linux (24.0, needs a gstreamer codec), OS X (26.0)||Windows (21.0), Linux (24.0, needs a gstreamer codec), OS X (34.0)||4.0||15.0||28.0|
|Safari||OS X||Manual install||3.1||3.1||3.1||No||No||No|
The adoption of HTML5 audio, as with HTML5 video, has become polarized between proponents of free and patented formats. In 2007, the recommendation to use Vorbis was retracted from the specification by the W3C together with that to use Ogg Theora, citing the lack of a format accepted by all the major browser vendors.
Mozilla and Opera, controlling 24% of the market, support the free and open, royalty-free Vorbis format in Ogg and WebM containers, and criticize the patent-encumbered nature of MP3 and AAC, which are guaranteed to be “non-free”.
Google, controlling 27% of the market, has so far provided support for all common formats.
Web Audio API and MediaStream Processing API
The W3C Audio Working Group is also considering the MediaStream Processing API specification developed by Mozilla. In addition to audio mixing and processing, it covers more general media streaming, including synchronization with HTML elements, capture of audio and video streams, and peer-to-peer routing of such media streams.
Web Speech API
The Web Speech API aims to provide an alternative input method for web applications (without using a keyboard). With this API, developers can give web apps the ability to transcribe your voice to text, from your computer's microphone. The recorded audio is sent to speech servers for transcription, after which the text is typed out for you. The API itself is agnostic of the underlying speech recognition implementation and can support both server based as well as embedded recognizers. The HTML Speech Incubator group has proposed the implementation of audio-speech technology in browsers in the form of uniform, cross-platform APIs. The API contains both:
- Speech Input API
- Text to Speech API
Google integrated this feature into Google Chrome on March 2011. Letting its users search the web with their voice with code like:
- HTML5 audio element - W3C
- About HTML5 Audio and Video - Safari HTML5 Audio and Video Guide
- Chris Rogers (2012-03-15). "Web Audio API". W3C. Archived from the original on 2012-03-15. Retrieved 2012-07-04.
- "Audio Data API".
- "Introducing the Audio API extension". Mozilla Developer Network. Mozilla. 2012-03-05. Archived from the original on 2014-01-16. Retrieved 2012-07-04.
- "Audio Processing API". W3C. 2011-12-15. Archived from the original on 2011-12-15. Retrieved 2012-07-04.
- Robert O'Callahan (2012-05-31). "MediaStream Processing API". W3C. Retrieved 2012-07-04.
- Web Audio API is now available in Chrome
- Scott Gilbertson (2011-09-19). "Chrome 14 Adds Better Audio, ‘Native Client’ Support". Webmonkey. Wired. Retrieved 2012-07-04.
- "API draft". Retrieved January 28, 2012.
- "HTML5 Speech API". Retrieved January 28, 2012.
- "Talking to your computer". Retrieved January 28, 2012.
- HTML/Elements/audio - W3C Wiki
- HTML5 audio element - W3C
- Web Audio API - W3C
- MediaStream Processing API - W3C
- Web Speech API - W3C
- Web Audio DAW - Github