AudioParam

@native @JSType
trait AudioParam extends AudioNode

The AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). An AudioParam can be set to a specific value or a change in value, and can be scheduled to happen at a specific time and following a specific pattern.

There are two kinds of AudioParam, a-rate and k-rate parameters:

  • An a-rate AudioParam takes the current audio parameter value for each sample frame of the audio signal.
  • A k-rate AudioParam uses the same initial audio parameter value for the whole block processed, that is 128 sample frames.

Each AudioNode defines which of its parameters are a-rate or k-rate in the spec.

Each AudioParam has a list of events, initially empty, that define when and how values change. When this list is not empty, changes using the AudioParam.value attributes are ignored. This list of events allows us to schedule changes that have to happen at very precise times, using arbitrary timelime-based automation curves. The time used is the one defined in AudioContext.currentTime.

trait AudioNode
class Object
trait Any
class Object
trait Matchable
class Any

Value members

Concrete methods

def cancelScheduledValues(startTime: Double): Unit

Cancels all scheduled future changes to the AudioParam.

Cancels all scheduled future changes to the AudioParam.

Value parameters:
startTime

A double representing the exact time (in seconds) after the AudioContext was first created after which all scheduled changes will be cancelled.

def exponentialRampToValueAtTime(value: Double, endTime: Double): Unit

Schedules a gradual exponential change in the value of the AudioParam. The change starts at the time specified for the previous event, follows an exponential ramp to the new value given in the value parameter, and reaches the new value at the time given in the endTime parameter.

Schedules a gradual exponential change in the value of the AudioParam. The change starts at the time specified for the previous event, follows an exponential ramp to the new value given in the value parameter, and reaches the new value at the time given in the endTime parameter.

Value parameters:
endTime

A double representing the exact time (in seconds) after the ramping starts that the changing of the value will stop.

value

A floating point number representing the value the AudioParam will ramp up to by the given time.

def linearRampToValueAtTime(value: Double, endTime: Double): Unit

Schedules a gradual linear change in the value of the AudioParam. The change starts at the time specified for the previous event, follows a linear ramp to the new value given in the value parameter, and reaches the new value at the time given in the endTime parameter.

Schedules a gradual linear change in the value of the AudioParam. The change starts at the time specified for the previous event, follows a linear ramp to the new value given in the value parameter, and reaches the new value at the time given in the endTime parameter.

Value parameters:
endTime

A double representing the exact time (in seconds) after the ramping starts that the changing of the value will stop.

value

A floating point number representing the value the AudioParam will ramp up to by the given time.

def setTargetAtTime(target: Double, startTime: Double, timeConstant: Double): Unit

Schedules the start of a change to the value of the AudioParam. The change starts at the time specified in startTime and exponentially moves towards the value given by the target parameter. The exponential decay rate is defined by the timeConstant parameter, which is a time measured in seconds.

Schedules the start of a change to the value of the AudioParam. The change starts at the time specified in startTime and exponentially moves towards the value given by the target parameter. The exponential decay rate is defined by the timeConstant parameter, which is a time measured in seconds.

Value parameters:
startTime

The time that the exponential transition will begin, which will be relative to AudioContext.currentTime.

target

The value the parameter will start to transition towards at the given start time.

timeConstant

The time-constant value of first-order filter (exponential) approach to the target value. The larger this value is, the slower the transition will be.

def setValueAtTime(value: Double, startTime: Double): Unit

Schedules an instant change to the value of the AudioParam at a precise time, as measured against AudioContext.currentTime. The new value is given in the value parameter.

Schedules an instant change to the value of the AudioParam at a precise time, as measured against AudioContext.currentTime. The new value is given in the value parameter.

Value parameters:
startTime

A double representing the exact time (in seconds) after the AudioContext was first created that the change in value will happen.

value

A floating point number representing the value the AudioParam will change to at the given time.

def setValueCurveAtTime(values: Float32Array, startTime: Double, duration: Double): Unit

Schedules the values of the AudioParam to follow a set of values, defined by the values Float32Array scaled to fit into the given interval, starting at startTime, and having a specific duration.

Schedules the values of the AudioParam to follow a set of values, defined by the values Float32Array scaled to fit into the given interval, starting at startTime, and having a specific duration.

Value parameters:
duration

A double representing the exact time (in seconds) during which the values will be changed between. The values are spaced equally along this duration.

startTime

A double representing the exact time (in seconds) after the AudioContext was first created that the change in value will happen.

values

A Float32Array representing the value curve the AudioParam will change through along the duration.

Inherited methods

def addEventListener[T <: Event](`type`: String, listener: Function1[T, _], options: EventListenerOptions): Unit

The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on. The event target may be an Element in a document, the Document itself, a Window, or any other object that supports events (such as XMLHttpRequest).

The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on. The event target may be an Element in a document, the Document itself, a Window, or any other object that supports events (such as XMLHttpRequest).

This implementation accepts a settings object of type EventListenerOptions.

Inherited from:
EventTarget
def addEventListener[T <: Event](`type`: String, listener: Function1[T, _], useCapture: Boolean): Unit

The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on. The event target may be an Element in a document, the Document itself, a Window, or any other object that supports events (such as XMLHttpRequest).

The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on. The event target may be an Element in a document, the Document itself, a Window, or any other object that supports events (such as XMLHttpRequest).

Inherited from:
EventTarget
def connect(audioParam: AudioParam): Unit

Allows us to connect one output of this node to one input of an audio parameter.

Allows us to connect one output of this node to one input of an audio parameter.

Inherited from:
AudioNode
def connect(audioNode: AudioNode): Unit

Allows us to connect one output of this node to one input of another node.

Allows us to connect one output of this node to one input of another node.

Inherited from:
AudioNode
def disconnect(output: AudioNode): Unit

Allows us to disconnect the current node from another one it is already connected to.

Allows us to disconnect the current node from another one it is already connected to.

Value parameters:
output

The index describing which output of the AudioNode is going to be disconnected.

Inherited from:
AudioNode
def dispatchEvent(evt: Event): Boolean

Dispatches an Event at the specified EventTarget, invoking the affected EventListeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) apply to events dispatched manually with dispatchEvent().

Dispatches an Event at the specified EventTarget, invoking the affected EventListeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) apply to events dispatched manually with dispatchEvent().

Inherited from:
EventTarget
def hasOwnProperty(v: String): Boolean
Inherited from:
Object
def isPrototypeOf(v: Object): Boolean
Inherited from:
Object
def propertyIsEnumerable(v: String): Boolean
Inherited from:
Object
def removeEventListener[T <: Event](`type`: String, listener: Function1[T, _], options: EventListenerOptions): Unit

Removes the event listener previously registered with EventTarget.addEventListener.

Removes the event listener previously registered with EventTarget.addEventListener.

This implementation accepts a settings object of type EventListenerOptions.

Inherited from:
EventTarget
def removeEventListener[T <: Event](`type`: String, listener: Function1[T, _], useCapture: Boolean): Unit

Removes the event listener previously registered with EventTarget.addEventListener.

Removes the event listener previously registered with EventTarget.addEventListener.

Inherited from:
EventTarget
def toLocaleString(): String
Inherited from:
Object
def valueOf(): Any
Inherited from:
Object

Concrete fields

val defaultValue: Double

Represents the initial value of the attributes as defined by the specific AudioNode creating the AudioParam.

Represents the initial value of the attributes as defined by the specific AudioNode creating the AudioParam.

var value: Double

Represents the parameter's current floating point value; initially set to the value of AudioParam.defaultValue. Though it can be set, any modifications happening while there are automation events scheduled — that is events scheduled using the methods of the AudioParam — are ignored, without raising any exception.

Represents the parameter's current floating point value; initially set to the value of AudioParam.defaultValue. Though it can be set, any modifications happening while there are automation events scheduled — that is events scheduled using the methods of the AudioParam — are ignored, without raising any exception.

Inherited fields

var channelCount: Int

Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. Its usage and precise definition depend on the value of AudioNode.channelCountMode.

Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. Its usage and precise definition depend on the value of AudioNode.channelCountMode.

Inherited from:
AudioNode

Represents an enumerated value describing the way channels must be matched between the node's inputs and outputs.

Represents an enumerated value describing the way channels must be matched between the node's inputs and outputs.

Inherited from:
AudioNode

Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen.

Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen.

The possible values are "speakers" or "discrete".

Inherited from:
AudioNode

Returns the associated AudioContext, that is the object representing the processing graph the node is participating in.

Returns the associated AudioContext, that is the object representing the processing graph the node is participating in.

Inherited from:
AudioNode

Returns the number of inputs feeding the node. Source nodes are defined as nodes having a numberOfInputs property with a value of 0.

Returns the number of inputs feeding the node. Source nodes are defined as nodes having a numberOfInputs property with a value of 0.

Inherited from:
AudioNode

Returns the number of outputs coming out of the node. Destination nodes — like AudioDestinationNode — have a value of 0 for this attribute.

Returns the number of outputs coming out of the node. Destination nodes — like AudioDestinationNode — have a value of 0 for this attribute.

Inherited from:
AudioNode