AudioContext extension type
The AudioContext interface 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.
- on
- Implemented types
- Available extensions
Constructors
- AudioContext([AudioContextOptions contextOptions])
- 
          
            factory
Properties
- audioWorklet → AudioWorklet
- 
  The audioWorkletread-only property of the BaseAudioContext interface returns an instance of AudioWorklet that can be used for adding AudioWorkletProcessor-derived classes which implement custom audio processing.no setterinherited
- baseLatency → double
- 
  The baseLatencyread-only property of the AudioContext interface returns a double that represents the number of seconds of processing latency incurred by theAudioContextpassing 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 → double
- 
  The currentTimeread-only property of the BaseAudioContext interface 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 destinationproperty of the BaseAudioContext interface 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
- isDefinedAndNotNull → bool
- 
      Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension no setter
- isNull → bool
- 
      Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension Whether this value corresponds to JavaScriptnull.no setter
- isTruthy → JSBoolean
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result of!!in JavaScript.thisno setter
- isUndefined → bool
- 
      Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension Whether this value corresponds to JavaScriptundefined.no setter
- isUndefinedOrNull → bool
- 
      Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension no setter
- listener → AudioListener
- 
  The listenerproperty of the BaseAudioContext interface returns an AudioListener object that can then be used for implementing 3D audio spatialization.no setterinherited
- not → JSBoolean
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result of!in JavaScript.thisno setter
- onstatechange ↔ EventHandler?
- 
  
  getter/setter pairinherited
- outputLatency → double
- 
  The outputLatencyread-only property of the AudioContext Interface 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 → double
- 
  The sampleRateproperty of the BaseAudioContext interface 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 stateread-only property of the BaseAudioContext interface returns the current state of theAudioContext.no setterinherited
Methods
- 
  add(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis+any
- 
  addEventListener(String type, EventListener? callback, [JSAny options]) → void 
- 
  The addEventListener()method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.inherited
- 
  and(JSAny? any) → JSAny? 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis&&any
- 
  callMethod<R extends JSAny?> (JSAny method, [JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → R 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Callsmethodon this JSObject with up to four arguments.
- 
  callMethodVarArgs<R extends JSAny?> (JSAny method, [List< JSAny?> ? arguments]) → R
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Callsmethodon this JSObject with a variable number ofarguments.
- 
  close() → JSPromise< JSAny?> 
- 
  The close()method of the AudioContext Interface closes the audio context, releasing any system audio resources that it uses.
- 
  createAnalyser() → AnalyserNode 
- 
  The createAnalyser()method of the BaseAudioContext interface 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 interface creates a BiquadFilterNode, which represents a second order filter configurable as several different common filter types.inherited
- 
  createBuffer(int numberOfChannels, int length, num sampleRate) → AudioBuffer 
- 
  The createBuffer()method of the BaseAudioContext Interface 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 Interface 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 interface 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 interface 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([num maxDelayTime]) → DelayNode 
- 
  The createDelay()method of the BaseAudioContext Interface 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 Interface 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 interface creates a GainNode, which can be used to control the overall gain (or volume) of the audio graph.inherited
- 
  createIIRFilter(JSArray< JSNumber> feedforward, JSArray<JSNumber> 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(HTMLMediaElement mediaElement) → MediaElementAudioSourceNode 
- 
  The createMediaElementSource()method of the AudioContext Interface is used to create a new MediaElementAudioSourceNode object, given an existing HTMLaudioorvideoelement, the audio from which can then be played and manipulated.
- 
  createMediaStreamDestination() → MediaStreamAudioDestinationNode 
- 
  The createMediaStreamDestination()method of the AudioContext Interface 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 Interface 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 interface 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 interface creates an OscillatorNode, a source representing a periodic waveform. It basically generates a constant tone.inherited
- 
  createPanner() → PannerNode 
- 
  The createPanner()method of the BaseAudioContext Interface is used to create a new PannerNode, which is used to spatialize an incoming audio stream in 3D space.inherited
- 
  createPeriodicWave(JSArray< JSNumber> real, JSArray<JSNumber> 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 interface creates a WaveShaperNode, which represents a non-linear distortion. It is used to apply distortion effects to your audio.inherited
- 
  dartify() → Object? 
- 
      Available on JSAny?, provided by the JSAnyUtilityExtension extension Converts a JavaScript JSON-like value to the Dart equivalent if possible.
- 
  decodeAudioData(JSArrayBuffer audioData, [DecodeSuccessCallback? successCallback, DecodeErrorCallback? errorCallback]) → JSPromise< AudioBuffer> 
- 
  The decodeAudioData()method of the BaseAudioContext Interface is used to asynchronously decode audio file data contained in anArrayBufferthat is loaded fromfetch, XMLHttpRequest, or FileReader. The decoded AudioBuffer is resampled to the AudioContext's sampling rate, then passed to a callback or promise.inherited
- 
  delete(JSAny property) → JSBoolean 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Deletes the property with keypropertyfrom this JSObject.
- 
  dispatchEvent(Event event) → bool 
- 
  The dispatchEvent()method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually withdispatchEvent().inherited
- 
  divide(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis/any
- 
  equals(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis==any
- 
  exponentiate(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis**any
- 
  getOutputTimestamp() → AudioTimestamp 
- 
  The
getOutputTimestamp()method of the AudioContext interface returns a newAudioTimestampobject containing two audio timestamp values relating to the current audio context.
- 
  getProperty<R extends JSAny?> (JSAny property) → R 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension The value of the property keypropertyof this JSObject.
- 
  greaterThan(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis>any
- 
  greaterThanOrEqualTo(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis>=any
- 
  has(String property) → bool 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Shorthand helper for hasProperty to check whether this JSObject contains the property keyproperty, but takes and returns a Dart value.
- 
  hasProperty(JSAny property) → JSBoolean 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Whether or not this JSObject contains the property keyproperty.
- 
  instanceof(JSFunction constructor) → bool 
- 
      Available on JSAny?, provided by the JSAnyUtilityExtension extension Whether thisJSAny?is aninstanceofconstructor.
- 
  instanceOfString(String constructorName) → bool 
- 
      Available on JSAny?, provided by the JSAnyUtilityExtension extension Whether thisJSAny?is aninstanceofthe constructor that is defined byconstructorName, which is looked up in the globalContext.
- 
  isA<T extends JSAny?> () → bool 
- 
      Available on JSAny?, provided by the JSAnyUtilityExtension extension Whether thisJSAny?is an instance of the JavaScript type that is declared byT.
- 
  lessThan(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis<any
- 
  lessThanOrEqualTo(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis<=any
- 
  modulo(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis%any
- 
  multiply(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis*any
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  notEquals(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis!=any
- 
  or(JSAny? any) → JSAny? 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis||any
- 
  removeEventListener(String type, EventListener? callback, [JSAny options]) → void 
- 
  The removeEventListener()method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener from the target. The event listener to be removed is identified using a combination of the event type, the event listener function itself, and various optional options that may affect the matching process; see Matching event listeners for removal.inherited
- 
  resume() → JSPromise< JSAny?> 
- 
  The resume()method of the AudioContext interface resumes the progression of time in an audio context that has previously been suspended.
- 
  setProperty(JSAny property, JSAny? value) → void 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Write thevalueof property keypropertyof this JSObject.
- 
  strictEquals(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis===any
- 
  strictNotEquals(JSAny? any) → JSBoolean 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis!==any
- 
  subtract(JSAny? any) → JSAny 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis-any
- 
  suspend() → JSPromise< JSAny?> 
- 
  The suspend()method of the AudioContext Interface 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
- 
  typeofEquals(String typeString) → bool 
- 
      Available on JSAny?, provided by the JSAnyUtilityExtension extension Whether the result oftypeofon thisJSAny?istypeString.
- 
  unsignedRightShift(JSAny? any) → JSNumber 
- 
      Available on JSAny?, provided by the JSAnyOperatorExtension extension The result ofthis>>>any
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited
- 
  operator [](String property) → JSAny? 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Shorthand helper for getProperty to get the value of the property keypropertyof this JSObject, but takes a Dart value.
- 
  operator []=(String property, JSAny? value) → void 
- 
      Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension Shorthand helper for setProperty to write thevalueof the property keypropertyof this JSObject, but takes a Dart value.