Struct AudioWorkletNode

Source
pub struct AudioWorkletNode { /* private fields */ }
Expand description

A user-defined AudioNode which lives in the control thread

§Examples

  • cargo run --release --example worklet
  • cargo run --release --example worklet_message_port
  • cargo run --release --example worklet_bitcrusher

Implementations§

Source§

impl AudioWorkletNode

Source

pub fn new<P: AudioWorkletProcessor + 'static>( context: &impl BaseAudioContext, options: AudioWorkletNodeOptions<P::ProcessorOptions>, ) -> Self

Construct a new AudioWorkletNode

§Panics

This function panics when

  • the number of inputs and the number of outputs of the supplied options are both equal to zero.
  • any of the output channel counts is equal to zero or larger than 32 (MAX_CHANNELS)
Source

pub fn parameters(&self) -> &HashMap<String, AudioParam>

Collection of AudioParam objects with associated names of this node

This map is populated from a list of AudioParamDescriptors in the AudioWorkletProcessor class constructor at the instantiation.

Source

pub fn port(&self) -> MessagePort<'_>

Message port to the processor in the render thread

Every AudioWorkletNode has an associated port which is the MessagePort. It is connected to the port on the corresponding AudioWorkletProcessor object allowing bidirectional communication between the AudioWorkletNode and its AudioWorkletProcessor.

Trait Implementations§

Source§

impl AudioNode for AudioWorkletNode

Source§

fn registration(&self) -> &AudioContextRegistration

Handle of the associated BaseAudioContext. Read more
Source§

fn channel_config(&self) -> &ChannelConfig

Config for up/down-mixing of input channels for this node. Read more
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.
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. Read more
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. Read more
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. Read more
Source§

fn disconnect_output(&self, output: usize)

Disconnects all outgoing connections at the given output port from the AudioNode. Read more
Source§

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

Disconnects a specific output of the AudioNode to a specific destination AudioNode Read more
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 Read more
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. Read more
Source§

fn clear_onprocessorerror(&self)

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

impl Debug for AudioWorkletNode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,