Struct bones_framework::render::audio::AudioManager
source · pub struct AudioManager(/* private fields */);
Expand description
The audio manager resource which can be used to play sounds.
Methods from Deref<Target = KiraAudioManager<CpalWithFallbackBackend>>§
pub fn play<D>(
&mut self,
sound_data: D
) -> Result<<D as SoundData>::Handle, PlaySoundError<<D as SoundData>::Error>>where
D: SoundData,
pub fn play<D>( &mut self, sound_data: D ) -> Result<<D as SoundData>::Handle, PlaySoundError<<D as SoundData>::Error>>where D: SoundData,
Plays a sound.
Examples
use kira::sound::static_sound::{StaticSoundData, StaticSoundSettings};
let sound_data = StaticSoundData::from_file("sound.ogg", StaticSoundSettings::default())?;
manager.play(sound_data)?;
pub fn add_sub_track(
&mut self,
builder: TrackBuilder
) -> Result<TrackHandle, AddSubTrackError>
pub fn add_sub_track( &mut self, builder: TrackBuilder ) -> Result<TrackHandle, AddSubTrackError>
Creates a mixer sub-track.
pub fn add_clock(
&mut self,
speed: impl Into<Value<ClockSpeed>>
) -> Result<ClockHandle, AddClockError>
pub fn add_clock( &mut self, speed: impl Into<Value<ClockSpeed>> ) -> Result<ClockHandle, AddClockError>
pub fn add_spatial_scene(
&mut self,
settings: SpatialSceneSettings
) -> Result<SpatialSceneHandle, AddSpatialSceneError>
pub fn add_spatial_scene( &mut self, settings: SpatialSceneSettings ) -> Result<SpatialSceneHandle, AddSpatialSceneError>
Creates a spatial scene.
pub fn add_modulator<Builder>(
&mut self,
builder: Builder
) -> Result<<Builder as ModulatorBuilder>::Handle, AddModulatorError>where
Builder: ModulatorBuilder,
pub fn add_modulator<Builder>( &mut self, builder: Builder ) -> Result<<Builder as ModulatorBuilder>::Handle, AddModulatorError>where Builder: ModulatorBuilder,
Creates a modulator.
Examples
use kira::modulator::lfo::LfoBuilder;
let modulator = manager.add_modulator(LfoBuilder::new())?;
pub fn pause(&self, fade_out_tween: Tween) -> Result<(), CommandError>
pub fn pause(&self, fade_out_tween: Tween) -> Result<(), CommandError>
Fades out and pauses all audio.
Examples
Pause audio immediately:
use kira::tween::Tween;
manager.pause(Tween::default())?;
Fade out audio for 3 seconds and then pause:
use kira::tween::Tween;
use std::time::Duration;
manager.pause(Tween {
duration: Duration::from_secs(3),
..Default::default()
})?;
pub fn resume(&self, fade_out_tween: Tween) -> Result<(), CommandError>
pub fn resume(&self, fade_out_tween: Tween) -> Result<(), CommandError>
Resumes and fades in all audio.
Examples
Resume audio with a 3-second fade-in:
use kira::tween::Tween;
use std::time::Duration;
manager.resume(Tween {
duration: Duration::from_secs(3),
..Default::default()
})?;
pub fn main_track(&self) -> TrackHandle
pub fn main_track(&self) -> TrackHandle
Returns a handle to the main mixer track.
Examples
Use the main track handle to adjust the volume of all audio:
use kira::tween::Tween;
manager.main_track().set_volume(0.5, Tween::default())?;
pub fn state(&self) -> MainPlaybackState
pub fn state(&self) -> MainPlaybackState
Returns the current playback state of the audio.
pub fn sound_capacity(&self) -> usize
pub fn sound_capacity(&self) -> usize
Returns the number of sounds that can be loaded at a time.
pub fn sub_track_capacity(&self) -> usize
pub fn sub_track_capacity(&self) -> usize
Returns the number of mixer sub-tracks that can exist at a time.
pub fn clock_capacity(&self) -> usize
pub fn clock_capacity(&self) -> usize
Returns the number of clocks that can exist at a time.
pub fn spatial_scene_capacity(&self) -> usize
pub fn spatial_scene_capacity(&self) -> usize
Returns the number of spatial scenes that can exist at a time.
pub fn modulator_capacity(&self) -> usize
pub fn modulator_capacity(&self) -> usize
Returns the number of modulators that can exist at a time.
pub fn num_sounds(&self) -> usize
pub fn num_sounds(&self) -> usize
Returns the number of sounds that are currently loaded.
pub fn num_sub_tracks(&self) -> usize
pub fn num_sub_tracks(&self) -> usize
Returns the number of mixer sub-tracks that currently exist.
pub fn num_clocks(&self) -> usize
pub fn num_clocks(&self) -> usize
Returns the number of clocks that currently exist.
pub fn num_spatial_scenes(&self) -> usize
pub fn num_spatial_scenes(&self) -> usize
Returns the number of spatial scenes that currently exist.
pub fn num_modulators(&self) -> usize
pub fn num_modulators(&self) -> usize
Returns the number of modulators that currently exist.
pub fn backend_mut(&mut self) -> &mut B
pub fn backend_mut(&mut self) -> &mut B
Returns a mutable reference to this manager’s backend.
Trait Implementations§
source§impl Default for AudioManager
impl Default for AudioManager
source§impl Deref for AudioManager
impl Deref for AudioManager
source§impl DerefMut for AudioManager
impl DerefMut for AudioManager
source§impl HasSchema for AudioManager
impl HasSchema for AudioManager
source§fn register_schema()
fn register_schema()
source§fn cast<T>(this: &Self) -> &Twhere
T: HasSchema,
fn cast<T>(this: &Self) -> &Twhere T: HasSchema,
source§fn try_cast<T>(this: &Self) -> Result<&T, SchemaMismatchError>where
T: HasSchema,
fn try_cast<T>(this: &Self) -> Result<&T, SchemaMismatchError>where T: HasSchema,
source§fn cast_mut<T>(this: &mut Self) -> &mut Twhere
T: HasSchema,
fn cast_mut<T>(this: &mut Self) -> &mut Twhere T: HasSchema,
source§fn try_cast_mut<T>(this: &mut Self) -> Result<&mut T, SchemaMismatchError>where
T: HasSchema,
fn try_cast_mut<T>(this: &mut Self) -> Result<&mut T, SchemaMismatchError>where T: HasSchema,
source§fn as_schema_ref(&self) -> SchemaRef<'_>where
Self: Sized,
fn as_schema_ref(&self) -> SchemaRef<'_>where Self: Sized,
T
to a SchemaRef
source§fn as_schema_mut(&mut self) -> SchemaRefMut<'_>where
Self: Sized,
fn as_schema_mut(&mut self) -> SchemaRefMut<'_>where Self: Sized,
T
to a SchemaRefMut
Auto Trait Implementations§
impl !RefUnwindSafe for AudioManager
impl Send for AudioManager
impl Sync for AudioManager
impl Unpin for AudioManager
impl UnwindSafe for AudioManager
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
source§fn from_world(_world: &World) -> T
fn from_world(_world: &World) -> T
Self
using data from the given World
.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> RawDefault for Twhere
T: Default,
impl<T> RawDefault for Twhere T: Default,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.