Trait web_audio_api::node::AudioNode
source · pub trait AudioNode {
Show 17 methods
// Required methods
fn registration(&self) -> &AudioContextRegistration;
fn channel_config(&self) -> &ChannelConfig;
fn number_of_inputs(&self) -> usize;
fn number_of_outputs(&self) -> usize;
// Provided methods
fn context(&self) -> &ConcreteBaseAudioContext { ... }
fn connect<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode { ... }
fn connect_at<'a>(
&self,
dest: &'a dyn AudioNode,
output: usize,
input: usize
) -> &'a dyn AudioNode { ... }
fn disconnect_from<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode { ... }
fn disconnect(&self) { ... }
fn channel_count_mode(&self) -> ChannelCountMode { ... }
fn set_channel_count_mode(&self, v: ChannelCountMode) { ... }
fn channel_interpretation(&self) -> ChannelInterpretation { ... }
fn set_channel_interpretation(&self, v: ChannelInterpretation) { ... }
fn channel_count(&self) -> usize { ... }
fn set_channel_count(&self, v: usize) { ... }
fn set_onprocessorerror(
&self,
callback: Box<dyn FnOnce(ErrorEvent) + Send + 'static>
) { ... }
fn clear_onprocessorerror(&self) { ... }
}
Expand description
This interface represents audio sources, the audio destination, and intermediate processing modules.
These modules can be connected together to form processing graphs for rendering audio to the audio hardware. Each node can have inputs and/or outputs.
Note that the AudioNode is typically constructed together with an AudioProcessor
(the object that lives the render thread). See BaseAudioContext::register
.
Required Methods§
fn registration(&self) -> &AudioContextRegistration
fn channel_config(&self) -> &ChannelConfig
sourcefn number_of_inputs(&self) -> usize
fn number_of_inputs(&self) -> usize
The number of inputs feeding into the AudioNode. For source nodes, this will be 0.
sourcefn number_of_outputs(&self) -> usize
fn number_of_outputs(&self) -> usize
The number of outputs coming out of the AudioNode.
Provided Methods§
sourcefn context(&self) -> &ConcreteBaseAudioContext
fn context(&self) -> &ConcreteBaseAudioContext
The BaseAudioContext
concrete type which owns this
AudioNode.
sourcefn connect<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode
fn connect<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode
Connect the output of this AudioNode to the input of another node.
Panics
This function will panic when
- the AudioContext of the source and destination does not match
sourcefn connect_at<'a>(
&self,
dest: &'a dyn AudioNode,
output: usize,
input: usize
) -> &'a dyn AudioNode
fn connect_at<'a>( &self, dest: &'a dyn AudioNode, output: usize, input: usize ) -> &'a dyn AudioNode
Connect a specific output of this AudioNode to a specific input of another node.
Panics
This function will panic when
- the AudioContext of the source and destination does not match
- if the input port is out of bounds for the destination node
- if the output port is out of bounds for the source node
sourcefn disconnect_from<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode
fn disconnect_from<'a>(&self, dest: &'a dyn AudioNode) -> &'a dyn AudioNode
Disconnects all outputs of the AudioNode that go to a specific destination AudioNode.
sourcefn disconnect(&self)
fn disconnect(&self)
Disconnects all outgoing connections from the AudioNode.
sourcefn channel_count_mode(&self) -> ChannelCountMode
fn channel_count_mode(&self) -> ChannelCountMode
Represents an enumerated value describing the way channels must be matched between the node’s inputs and outputs.
sourcefn set_channel_count_mode(&self, v: ChannelCountMode)
fn set_channel_count_mode(&self, v: ChannelCountMode)
Update the channel_count_mode
attribute
sourcefn channel_interpretation(&self) -> ChannelInterpretation
fn channel_interpretation(&self) -> ChannelInterpretation
Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen.
sourcefn set_channel_interpretation(&self, v: ChannelInterpretation)
fn set_channel_interpretation(&self, v: ChannelInterpretation)
Update the channel_interpretation
attribute
sourcefn channel_count(&self) -> usize
fn channel_count(&self) -> usize
Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node.
sourcefn set_channel_count(&self, v: usize)
fn set_channel_count(&self, v: usize)
Update the channel_count
attribute
sourcefn set_onprocessorerror(
&self,
callback: Box<dyn FnOnce(ErrorEvent) + Send + 'static>
)
fn set_onprocessorerror( &self, callback: Box<dyn FnOnce(ErrorEvent) + Send + 'static> )
Register callback to run when an unhandled exception occurs in the audio processor.
Note that once a unhandled exception is thrown, the processor will output silence throughout its lifetime.
Only a single event handler is active at any time. Calling this method multiple times will override the previous event handler.
sourcefn clear_onprocessorerror(&self)
fn clear_onprocessorerror(&self)
Unset the callback to run when an unhandled exception occurs in the audio processor.