Trait bevy_internal::audio::prelude::AudioSinkPlayback
source · pub trait AudioSinkPlayback {
// Required methods
fn volume(&self) -> f32;
fn set_volume(&self, volume: f32);
fn speed(&self) -> f32;
fn set_speed(&self, speed: f32);
fn play(&self);
fn pause(&self);
fn is_paused(&self) -> bool;
fn stop(&self);
fn empty(&self) -> bool;
// Provided method
fn toggle(&self) { ... }
}
Expand description
Common interactions with an audio sink.
Required Methods§
sourcefn volume(&self) -> f32
fn volume(&self) -> f32
Gets the volume of the sound.
The value 1.0
is the “normal” volume (unfiltered input). Any value other than 1.0
will multiply each sample by this value.
sourcefn set_volume(&self, volume: f32)
fn set_volume(&self, volume: f32)
Changes the volume of the sound.
The value 1.0
is the “normal” volume (unfiltered input). Any value other than 1.0
will multiply each sample by this value.
Note on Audio Volume
An increase of 10 decibels (dB) roughly corresponds to the perceived volume doubling in intensity. As this function scales not the volume but the amplitude, a conversion might be necessary. For example, to halve the perceived volume you need to decrease the volume by 10 dB. This corresponds to 20log(x) = -10dB, solving x = 10^(-10/20) = 0.316. Multiply the current volume by 0.316 to halve the perceived volume.
sourcefn speed(&self) -> f32
fn speed(&self) -> f32
Gets the speed of the sound.
The value 1.0
is the “normal” speed (unfiltered input). Any value other than 1.0
will change the play speed of the sound.
sourcefn set_speed(&self, speed: f32)
fn set_speed(&self, speed: f32)
Changes the speed of the sound.
The value 1.0
is the “normal” speed (unfiltered input). Any value other than 1.0
will change the play speed of the sound.
sourcefn pause(&self)
fn pause(&self)
Pauses playback of this sink.
No effect if already paused.
A paused sink can be resumed with play
.