Struct web_audio_api::node::PannerNode
source · [−]pub struct PannerNode { /* private fields */ }
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:
BaseAudioContext::create_panner
Usage
use web_audio_api::context::{BaseAudioContext, AudioContext};
use web_audio_api::node::AudioNode;
use web_audio_api::node::AudioScheduledSourceNode;
// Setup a new audio context
let context = AudioContext::default();
// 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
sourceimpl PannerNode
impl PannerNode
pub fn new<C: BaseAudioContext>(context: &C, options: PannerOptions) -> Self
pub fn position_x(&self) -> &AudioParam
pub fn position_y(&self) -> &AudioParam
pub fn position_z(&self) -> &AudioParam
pub fn orientation_x(&self) -> &AudioParam
pub fn orientation_y(&self) -> &AudioParam
pub fn orientation_z(&self) -> &AudioParam
pub fn cone_inner_angle(&self) -> f64
pub fn set_cone_inner_angle(&self, value: f64)
pub fn cone_outer_angle(&self) -> f64
pub fn set_cone_outer_angle(&self, value: f64)
pub fn cone_outer_gain(&self) -> f64
pub fn set_cone_outer_gain(&self, value: f64)
Trait Implementations
sourceimpl AudioNode for PannerNode
impl AudioNode for PannerNode
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.
fn set_channel_count(&self, v: usize)
fn set_channel_count_mode(&self, v: ChannelCountMode)
sourcefn context(&self) -> &ConcreteBaseAudioContext
fn context(&self) -> &ConcreteBaseAudioContext
The BaseAudioContext 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. Read more
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. Read more
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. Read more
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. Read more
fn set_channel_interpretation(&self, v: ChannelInterpretation)
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. Read more
Auto Trait Implementations
impl RefUnwindSafe for PannerNode
impl Send for PannerNode
impl Sync for PannerNode
impl Unpin for PannerNode
impl UnwindSafe for PannerNode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more