Struct web_audio_api::node::AudioBufferSourceNode [−][src]
pub struct AudioBufferSourceNode { /* fields omitted */ }
Expand description
AudioBufferSourceNode
represents an audio source that consists of an
in-memory audio source (i.e. an audio file completely loaded in memory),
stored in an AudioBuffer
.
- MDN documentation: https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode
- specification: https://webaudio.github.io/web-audio-api/#AudioBufferSourceNode
- see also:
AsBaseAudioContext::create_buffer_source
Usage
use std::fs::File;
use web_audio_api::context::{AsBaseAudioContext, AudioContext};
use web_audio_api::node::AudioNode;
// create an `AudioContext`
let context = AudioContext::new(None);
// load and decode a soundfile
let file = File::open("sample.wav").unwrap();
let audio_buffer = context.decode_audio_data(file);
// play the sound file
let mut src = context.create_buffer_source();
src.set_buffer(&audio_buffer);
src.connect(&context.destination());
src.start();
Examples
cargo run --release --example trigger_soundfile
cargo run --release --example granular
Implementations
Create a new AudioBufferSourceNode
instance
Provide an AudioBuffer
as the source of data to be played bask
Panics
Panics if a buffer has already been given to the source (though new
or through set_buffer
)
Start the playback at the given time and with a given offset
Start the playback at the given time, with a given offset, for a given duration
AudioParam
that defines the speed at which the AudioBuffer
will
be played, e.g.:
0.5
will play the file at half speed-1
will play the file in reverse
Note that playback rate will also alter the pitch of the AudioBuffer
AudioParam
that defines a pitch transposition of the file, expressed in cents
Defines if the playback the AudioBuffer
should be looped
Defines the loop start point, in the time reference of the AudioBuffer
Defines the loop end point, in the time reference of the AudioBuffer
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