AudioData
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The AudioData
interface of the WebCodecs API represents an audio sample.
AudioData
is a transferable object.
Description
An audio track consists of a stream of audio samples, each sample representing a captured moment of sound. An AudioData
object is a representation of such a sample. Working alongside the interfaces of the Insertable Streams API, you can break a stream into individual AudioData
objects with MediaStreamTrackProcessor
, or construct an audio track from a stream of frames with MediaStreamTrackGenerator
.
Note: Find out more about audio on the web in Digital audio concepts.
The media resource
An AudioData
object contains a reference to an attached media resource. This media resource contains the actual audio sample data described by the object. A media resource is maintained by the user agent until it is no longer referenced by an AudioData
object, for example when AudioData.close()
is called.
Planes and audio format
To return the sample format of an AudioData
use the AudioData.format
property. The format may be described as interleaved or planar. In interleaved formats, the audio samples from the different channels are laid out in a single buffer, described as a plane. This plane contains a number of elements equal to AudioData.numberOfFrames
* AudioData.numberOfChannels
.
In planar format, the number of planes is equal to AudioData.numberOfChannels
, and each plane is a buffer containing a number of elements equal to AudioData.numberOfFrames
.
Constructor
AudioData()
Experimental-
Creates a new
AudioData
object.
Instance properties
AudioData.format
Read only Experimental-
Returns the sample format of the audio.
AudioData.sampleRate
Read only Experimental-
Returns the sample rate of the audio in Hz.
AudioData.numberOfFrames
Read only Experimental-
Returns the number of frames.
AudioData.numberOfChannels
Read only Experimental-
Returns the number of audio channels.
AudioData.duration
Read only Experimental-
Returns the duration of the audio in microseconds.
AudioData.timestamp
Read only Experimental-
Returns the timestamp of the audio in microseconds.
Instance methods
AudioData.allocationSize()
Experimental-
Returns the number of bytes required to hold the sample as filtered by options passed into the method.
AudioData.copyTo()
Experimental-
Copies the samples from the specified plane of the
AudioData
object to the destination. AudioData.clone()
Experimental-
Creates a new
AudioData
object with reference to the same media resource as the original. AudioData.close()
Experimental-
Clears all states and releases the reference to the media resource.
Specifications
Specification |
---|
WebCodecs # audiodata-interface |
Browser compatibility
BCD tables only load in the browser