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.

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 on next block

Start the playback at the given time

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

Stop the playback on next block

Stop the playback at given time

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

see https://en.wikipedia.org/wiki/Cent_(music)

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.

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.