The HTMLAudioElement
interface provides access to the properties of <audio>
elements, as well as methods to manipulate them.
This element is based on, and inherits properties and methods from, the HTMLMediaElement
interface.
The HTMLAudioElement
interface provides access to the properties of <audio>
elements, as well as methods to manipulate them.
This element is based on, and inherits properties and methods from, the HTMLMediaElement
interface.
Audio()
Creates and returns a new HTMLAudioElement
object, optionally starting the process of loading an audio file into it if the file URL is given.
No specific properties; inherits properties from its parent, HTMLMediaElement
, and from HTMLElement
.
Inherits methods from its parent, HTMLMediaElement
, and from HTMLElement
. It offers no methods of its own.
The following methods are non-standard and should not be used.
mozCurrentSampleOffset()
Non-Standard
Deprecated
Returns the number of samples form the beginning of the stream that have been written so far into the audio stream created by calling mozWriteAudio()
.
mozSetup()
Non-Standard
Deprecated
Sets up the audio stream to allow writing, given the number of audio channels (1 or 2) and the sample rate in kHz.
mozWriteAudio()
Non-Standard
Deprecated
Writes a batch of audio frames to the stream at the current offset, returning the number of bytes actually written to the stream.
You can create a HTMLAudioElement
entirely with JavaScript using the Audio()
constructor:
var audioElement = new Audio('car_horn.wav');
then you can invoke the play()
method on the element
audioElement.play();
Note: A common gotcha is trying to play an audio element immediately on page load. Modern browser's default autoplay policy will block that from happening. Refer to Firefox and chrome for best practices and work arounds.
Some of the more commonly used properties of the audio element include src
, currentTime
, duration
, paused
, muted
, and volume
. This snippet copies the audio file's duration to a variable:
var audioElement = new Audio('car_horn.wav'); audioElement.addEventListener('loadeddata', () => { let duration = audioElement.duration; // The duration variable now holds the duration (in seconds) of the audio clip })
Inherits methods from its parent, HTMLMediaElement
, and from its ancestor HTMLElement
. Listen to events using addEventListener()
or by assigning an event listener to the oneventname
property of this interface.
Specification |
---|
HTML Standard # htmlaudioelement |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
HTMLAudioElement |
1
|
12
|
3.5
|
9
|
10.5
|
3.1
|
≤37
|
18
|
4
|
11
|
3
|
1.0
|
Audio |
3
|
12
|
3.5
|
9
|
≤12.1
|
3.1
|
≤37
|
18
|
4
|
≤12.1
|
3
|
1.0
|
mozCurrentSampleOffset |
No
|
No
|
4-28
|
No
|
No
|
No
|
No
|
No
|
4-28
|
No
|
No
|
No
|
mozSetup |
No
|
No
|
4-28
|
No
|
No
|
No
|
No
|
No
|
4-28
|
No
|
No
|
No
|
mozWriteAudio |
No
|
No
|
4-28
|
No
|
No
|
No
|
No
|
No
|
4-28
|
No
|
No
|
No
|
<audio>
. © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement