pub struct AudioClip<const SAMPLE_RATE_HZ: u32, T: ?Sized = [i16]> { /* private fields */ }target_os=none only.Expand description
Unsized view of static audio clip data. &AudioClip values of different lengths can be sequenced together.
For fixed-size, const-friendly storage, see AudioClipBuf.
See the audio_player module documentation for usage examples.
Implementations§
Source§impl<const SAMPLE_RATE_HZ: u32, T: ?Sized> AudioClip<SAMPLE_RATE_HZ, T>
impl<const SAMPLE_RATE_HZ: u32, T: ?Sized> AudioClip<SAMPLE_RATE_HZ, T>
Sourcepub const SAMPLE_RATE_HZ: u32 = SAMPLE_RATE_HZ
pub const SAMPLE_RATE_HZ: u32 = SAMPLE_RATE_HZ
Clip sample rate in hertz.
Source§impl<const SAMPLE_RATE_HZ: u32> AudioClip<SAMPLE_RATE_HZ>
impl<const SAMPLE_RATE_HZ: u32> AudioClip<SAMPLE_RATE_HZ>
Sourcepub const fn sample_count(&self) -> usize
pub const fn sample_count(&self) -> usize
Number of samples in this clip.
See the audio_player module documentation for usage examples.
Source§impl<const SAMPLE_RATE_HZ: u32, const SAMPLE_COUNT: usize> AudioClip<SAMPLE_RATE_HZ, [i16; SAMPLE_COUNT]>
Implementation for fixed-size clips (AudioClipBuf).
impl<const SAMPLE_RATE_HZ: u32, const SAMPLE_COUNT: usize> AudioClip<SAMPLE_RATE_HZ, [i16; SAMPLE_COUNT]>
Implementation for fixed-size clips (AudioClipBuf).
This impl applies to AudioClip with array-backed storage:
AudioClip<SAMPLE_RATE_HZ, [i16; SAMPLE_COUNT]>
(which is what AudioClipBuf aliases).
Sourcepub const SAMPLE_COUNT: usize = SAMPLE_COUNT
pub const SAMPLE_COUNT: usize = SAMPLE_COUNT
Number of samples in this clip.
See the audio_player module documentation for clip usage examples.
Sourcepub const fn new(samples: [i16; SAMPLE_COUNT]) -> Self
pub const fn new(samples: [i16; SAMPLE_COUNT]) -> Self
Creates a clip from i16 samples.
This is the primary constructor for custom clip-generation and
transform helpers written as const fn.
Sourcepub const fn samples(&self) -> &[i16; SAMPLE_COUNT]
pub const fn samples(&self) -> &[i16; SAMPLE_COUNT]
Returns the clip samples as a fixed-size array reference.
This is intended for custom clip-transform helpers written as const fn.
Sourcepub const fn with_gain(self, gain: Gain) -> Self
pub const fn with_gain(self, gain: Gain) -> Self
Returns a new clip with linear sample gain applied.
This is intended to be used in const clip definitions so the adjusted samples are computed ahead of time.
You can also write your own compile-time clip transforms by reading
samples with AudioClipBuf::samples and building a new clip with
AudioClipBuf::new.
Gain multiplication uses i32 math and saturates to i16 sample bounds. Large boosts can hard-clip peaks and introduce distortion.
See the audio_player module documentation for usage examples.
Sourcepub const fn silence() -> Self
pub const fn silence() -> Self
Creates a silent clip.
See the audio_player module documentation for usage examples.
Sourcepub const fn tone(frequency_hz: u32) -> Self
pub const fn tone(frequency_hz: u32) -> Self
Creates a sine-wave clip.
See the audio_player module documentation for usage examples.
Auto Trait Implementations§
impl<const SAMPLE_RATE_HZ: u32, T> Freeze for AudioClip<SAMPLE_RATE_HZ, T>
impl<const SAMPLE_RATE_HZ: u32, T> RefUnwindSafe for AudioClip<SAMPLE_RATE_HZ, T>where
T: RefUnwindSafe + ?Sized,
impl<const SAMPLE_RATE_HZ: u32, T> Send for AudioClip<SAMPLE_RATE_HZ, T>
impl<const SAMPLE_RATE_HZ: u32, T> Sync for AudioClip<SAMPLE_RATE_HZ, T>
impl<const SAMPLE_RATE_HZ: u32, T> Unpin for AudioClip<SAMPLE_RATE_HZ, T>
impl<const SAMPLE_RATE_HZ: u32, T> UnwindSafe for AudioClip<SAMPLE_RATE_HZ, T>where
T: UnwindSafe + ?Sized,
Blanket Implementations§
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more