AudioContext class abstract

The AudioContext represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode.

An audio context controls both the creation of the nodes it contains and the execution of the audio processing, or decoding. You need to create an AudioContext before you do anything else, as everything happens inside a context. It's recommended to create one AudioContext and reuse it instead of initializing a new one each time, and it's OK to use a single AudioContext for several different audio sources and pipeline concurrently.


API documentation sourced from MDN Web Docs.

Implemented types

Constructors

AudioContext()

Properties

audioWorklet AudioWorklet
The audioWorklet read-only property of the BaseAudioContext returns an instance of AudioWorklet that can be used for adding AudioWorkletProcessor-derived classes which implement custom audio processing.
no setterinherited
baseLatency double
The baseLatency read-only property of the AudioContext returns a double that represents the number of seconds of processing latency incurred by the AudioContext passing an audio buffer from the AudioDestinationNode — i.e. the end of the audio graph — into the host system's audio subsystem ready for playing.
no setter
currentTime TauTime
The currentTime read-only property of the BaseAudioContext returns a double representing an ever-increasing hardware timestamp in seconds that can be used for scheduling audio playback, visualizing timelines, etc. It starts at 0.
no setterinherited
destination AudioDestinationNode
The destination property of the BaseAudioContext returns an AudioDestinationNode representing the final destination of all audio in the context. It often represents an actual audio-rendering device such as your device's speakers.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
listener AudioListener
The listener property of the BaseAudioContext interface returns an AudioListener object that can then be used for implementing 3D audio spatialization.
no setterinherited
onstatechange EventHandler
getter/setter pairinherited
outputLatency double
The outputLatency read-only property of the AudioContext provides an estimation of the output latency of the current audio context.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sampleRate TauSampleRate
The sampleRate property of the BaseAudioContext returns a floating point number representing the sample rate, in samples per second, used by all nodes in this audio context. This limitation means that sample-rate converters are not supported.
no setterinherited
state AudioContextState
The state read-only property of the BaseAudioContext returns the current state of the AudioContext.
no setterinherited

Methods

close() TauPromise<TauAny?>
The close() method of the AudioContext closes the audio context, releasing any system audio resources that it uses.
createAnalyser() AnalyserNode
The createAnalyser() method of the BaseAudioContext creates an AnalyserNode, which can be used to expose audio time and frequency data and create data visualizations.
inherited
createBiquadFilter() BiquadFilterNode
The createBiquadFilter() method of the BaseAudioContext creates a BiquadFilterNode, which represents a second order filter configurable as several different common filter types.
inherited
createBuffer(int numberOfChannels, int length, TauSampleRate sampleRate) AudioBuffer
The createBuffer() method of the BaseAudioContext is used to create a new, empty AudioBuffer object, which can then be populated by data, and played via an AudioBufferSourceNode.
inherited
createBufferSource() AudioBufferSourceNode
The createBufferSource() method of the BaseAudioContext is used to create a new AudioBufferSourceNode, which can be used to play audio data contained within an AudioBuffer object. AudioBuffers are created using BaseAudioContext.createBuffer or returned by BaseAudioContext.decodeAudioData when it successfully decodes an audio track.
inherited
createChannelMerger([int numberOfInputs]) ChannelMergerNode
The createChannelMerger() method of the BaseAudioContext interface creates a ChannelMergerNode, which combines channels from multiple audio streams into a single audio stream.
inherited
createChannelSplitter([int numberOfOutputs]) ChannelSplitterNode
The createChannelSplitter() method of the BaseAudioContext Interface is used to create a ChannelSplitterNode, which is used to access the individual channels of an audio stream and process them separately.
inherited
createConstantSource() ConstantSourceNode
The createConstantSource() property of the BaseAudioContext creates a ConstantSourceNode object, which is an audio source that continuously outputs a monaural (one-channel) sound signal whose samples all have the same value.
inherited
createConvolver() ConvolverNode
The createConvolver() method of the BaseAudioContext creates a ConvolverNode, which is commonly used to apply reverb effects to your audio. See the spec definition of Convolution for more information.
inherited
createDelay([TauTime maxDelayTime]) DelayNode
The createDelay() method of the BaseAudioContext is used to create a DelayNode, which is used to delay the incoming audio signal by a certain amount of time.
inherited
createDynamicsCompressor() DynamicsCompressorNode
The createDynamicsCompressor() method of the BaseAudioContext is used to create a DynamicsCompressorNode, which can be used to apply compression to an audio signal.
inherited
createGain() GainNode
The createGain() method of the BaseAudioContext creates a GainNode, which can be used to control the overall gain (or volume) of the audio graph.
inherited
createIIRFilter(TauArray<TauNumber> feedforward, TauArray<TauNumber> feedback) IIRFilterNode
The createIIRFilter() method of the BaseAudioContext interface creates an IIRFilterNode, which represents a general infinite impulse response (IIR) filter which can be configured to serve as various types of filter.
inherited
createMediaElementSource(MediaElement mediaElement) MediaElementAudioSourceNode
The createMediaElementSource() method of the AudioContext is used to create a new MediaElementAudioSourceNode object, given an existing HTML audio or video element, the audio from which can then be played and manipulated.
createMediaStreamDestination() MediaStreamAudioDestinationNode
The createMediaStreamDestination() method of the AudioContext is used to create a new MediaStreamAudioDestinationNode object associated with a WebRTC MediaStream representing an audio stream, which may be stored in a local file or sent to another computer.
createMediaStreamSource(MediaStream mediaStream) MediaStreamAudioSourceNode
The createMediaStreamSource() method of the AudioContext is used to create a new MediaStreamAudioSourceNode object, given a media stream (say, from a MediaDevices.getUserMedia instance), the audio from which can then be played and manipulated.
createMediaStreamTrackSource(MediaStreamTrack mediaStreamTrack) MediaStreamTrackAudioSourceNode
The createMediaStreamTrackSource() method of the AudioContext creates and returns a MediaStreamTrackAudioSourceNode which represents an audio source whose data comes from the specified MediaStreamTrack.
createOscillator() OscillatorNode
The createOscillator() method of the BaseAudioContext creates an OscillatorNode, a source representing a periodic waveform. It basically generates a constant tone.
inherited
createPanner() PannerNode
The createPanner() method of the BaseAudioContext is used to create a new PannerNode, which is used to spatialize an incoming audio stream in 3D space.
inherited
createPeriodicWave(TauArray<TauNumber> real, TauArray<TauNumber> imag, [PeriodicWaveConstraints constraints]) PeriodicWave
The createPeriodicWave() method of the BaseAudioContext Interface is used to create a PeriodicWave, which is used to define a periodic waveform that can be used to shape the output of an OscillatorNode.
inherited
createScriptProcessor([int bufferSize, int numberOfInputChannels, int numberOfOutputChannels]) ScriptProcessorNode
The createScriptProcessor() method of the BaseAudioContext interface creates a ScriptProcessorNode used for direct audio processing.
inherited
createStereoPanner() StereoPannerNode
The createStereoPanner() method of the BaseAudioContext interface creates a StereoPannerNode, which can be used to apply stereo panning to an audio source. It positions an incoming audio stream in a stereo image using a low-cost panning algorithm.
inherited
createWaveShaper() WaveShaperNode
The createWaveShaper() method of the BaseAudioContext creates a WaveShaperNode, which represents a non-linear distortion. It is used to apply distortion effects to your audio.
inherited
decodeAudioData(TauArrayBuffer audioData, [DecodeSuccessCallback? successCallback, DecodeErrorCallback? errorCallback]) TauPromise<AudioBuffer>
The decodeAudioData() method of the BaseAudioContext is used to asynchronously decode audio file data contained in an ArrayBuffer that is loaded from fetch, XMLHttpRequest, or FileReader. The decoded AudioBuffer is resampled to the AudioContext's sampling rate, then passed to a callback or promise.
inherited
dispose() → void
inherited
getOutputTimestamp() AudioTimestamp
The getOutputTimestamp() method of the AudioContext returns a new AudioTimestamp object containing two audio timestamp values relating to the current audio context.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resume() TauPromise<TauAny?>
The resume() method of the AudioContext resumes the progression of time in an audio context that has previously been suspended.
setSinkId(String sinkId) Future<void>
Tau:
suspend() TauPromise<TauAny?>
The suspend() method of the AudioContext suspends the progression of time in the audio context, temporarily halting audio hardware access and reducing CPU/battery usage in the process — this is useful if you want an application to power down the audio hardware when it will not be using an audio context for a while.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited