Trait AudioNode

Source
pub trait AudioNode {
Show 20 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_from_output_to_input<'a>( &self, dest: &'a dyn AudioNode, output: usize, input: usize, ) -> &'a dyn AudioNode { ... } fn disconnect(&self) { ... } fn disconnect_dest(&self, dest: &dyn AudioNode) { ... } fn disconnect_output(&self, output: usize) { ... } fn disconnect_dest_from_output(&self, dest: &dyn AudioNode, output: usize) { ... } fn disconnect_dest_from_output_to_input( &self, dest: &dyn AudioNode, output: usize, input: usize, ) { ... } 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 AudioWorkletProcessor (the object that lives the render thread). See the crate::worklet mod.

Required Methods§

Source

fn registration(&self) -> &AudioContextRegistration

Handle of the associated BaseAudioContext.

Only when implementing the AudioNode trait manually, this struct is of any concern.

Source

fn channel_config(&self) -> &ChannelConfig

Config for up/down-mixing of input channels for this node.

Only when implementing the AudioNode trait manually, this struct is of any concern.

Source

fn number_of_inputs(&self) -> usize

The number of inputs feeding into the AudioNode. For source nodes, this will be 0.

Source

fn number_of_outputs(&self) -> usize

The number of outputs coming out of the AudioNode.

Provided Methods§

Source

fn context(&self) -> &ConcreteBaseAudioContext

The BaseAudioContext concrete type which owns this AudioNode.

Source

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
Source

fn connect_from_output_to_input<'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
Source

fn disconnect(&self)

Disconnects all outgoing connections from the AudioNode.

Source

fn disconnect_dest(&self, dest: &dyn AudioNode)

Disconnects all outputs of the AudioNode that go to a specific destination AudioNode.

§Panics

This function will panic when

  • the AudioContext of the source and destination does not match
  • the source node was not connected to the destination node
Source

fn disconnect_output(&self, output: usize)

Disconnects all outgoing connections at the given output port from the AudioNode.

§Panics

This function will panic when

  • if the output port is out of bounds for this node
Source

fn disconnect_dest_from_output(&self, dest: &dyn AudioNode, output: usize)

Disconnects a specific output of the AudioNode to a specific destination AudioNode

§Panics

This function will panic when

  • the AudioContext of the source and destination does not match
  • if the output port is out of bounds for the source node
  • the source node was not connected to the destination node
Source

fn disconnect_dest_from_output_to_input( &self, dest: &dyn AudioNode, output: usize, input: usize, )

Disconnects a specific output of the AudioNode to a specific input of some destination AudioNode

§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
  • the source node was not connected to the destination node
Source

fn channel_count_mode(&self) -> ChannelCountMode

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

Source

fn set_channel_count_mode(&self, v: ChannelCountMode)

Update the channel_count_mode attribute

Source

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.

Source

fn set_channel_interpretation(&self, v: ChannelInterpretation)

Update the channel_interpretation attribute

Source

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.

Source

fn set_channel_count(&self, v: usize)

Update the channel_count attribute

Source

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.

Source

fn clear_onprocessorerror(&self)

Unset the callback to run when an unhandled exception occurs in the audio processor.

Implementors§