Struct web_audio_api::node::PannerNode [−][src]
pub struct PannerNode { /* fields omitted */ }
Expand description
Node that positions / spatializes an incoming audio stream in three-dimensional space.
- MDN documentation: https://developer.mozilla.org/en-US/docs/Web/API/PannerNode
- specification: https://www.w3.org/TR/webaudio/#pannernode and https://www.w3.org/TR/webaudio/#Spatialization
- see also:
AsBaseAudioContext::create_panner
Usage
use web_audio_api::context::{AsBaseAudioContext, AudioContext};
use web_audio_api::node::AudioNode;
use web_audio_api::node::AudioScheduledSourceNode;
// Setup a new audio context
let context = AudioContext::new(None);
// Create a friendly tone
let tone = context.create_oscillator();
tone.frequency().set_value_at_time(300.0f32, 0.);
tone.start();
// Connect tone > panner node > destination node
let panner = context.create_panner();
tone.connect(&panner);
panner.connect(&context.destination());
// The panner node is 1 unit in front of listener
panner.position_z().set_value_at_time(1., 0.);
// And sweeps 10 units left to right, every second
let moving = context.create_oscillator();
moving.start();
moving.frequency().set_value_at_time(1., 0.);
let gain = context.create_gain();
gain.gain().set_value_at_time(10., 0.);
moving.connect(&gain);
gain.connect(panner.position_x());
// enjoy listening
std::thread::sleep(std::time::Duration::from_secs(4));
Examples
cargo run --release --example spatial
cargo run --release --example panner_cone
Implementations
Trait Implementations
The number of inputs feeding into the AudioNode. For source nodes, this will be 0.
The number of outputs coming out of the AudioNode.
The BaseAudioContext which owns this AudioNode.
Connect the output of this AudioNode to the input of another node.
fn connect_at<'a>(
&self,
dest: &'a dyn AudioNode,
output: u32,
input: u32
) -> Result<&'a dyn AudioNode, IndexSizeError>
fn connect_at<'a>(
&self,
dest: &'a dyn AudioNode,
output: u32,
input: u32
) -> Result<&'a dyn AudioNode, IndexSizeError>
Connect a specific output of this AudioNode to a specific input of another node.
Disconnects all outputs of the AudioNode that go to a specific destination AudioNode.
Disconnects all outgoing connections from the AudioNode.
Represents an enumerated value describing the way channels must be matched between the node’s inputs and outputs. Read more
Represents an enumerated value describing the meaning of the channels. This interpretation will define how audio up-mixing and down-mixing will happen. Read more
Represents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. Read more