pub struct Audio<Chan: Channel, const CH: usize> { /* private fields */ }
Expand description
Audio buffer (fixed-size array of audio Frame
s at
sample rate specified in hertz).
Implementations§
Source§impl<Chan: Channel, const CH: usize> Audio<Chan, CH>
impl<Chan: Channel, const CH: usize> Audio<Chan, CH>
Sourcepub fn with_silence(hz: u32, len: usize) -> Self
pub fn with_silence(hz: u32, len: usize) -> Self
Construct an Audio
buffer with all all samples set to zero.
Sourcepub fn with_frames<B>(hz: u32, frames: B) -> Self
pub fn with_frames<B>(hz: u32, frames: B) -> Self
Construct an Audio
buffer with owned sample data. You can get
ownership of the sample data back from the Audio
buffer as either a
Vec<S>
or a Box<[S]>
by calling into().
Sourcepub fn with_audio<Ch, const N: usize>(hz: u32, audio: &Audio<Ch, N>) -> Self
pub fn with_audio<Ch, const N: usize>(hz: u32, audio: &Audio<Ch, N>) -> Self
Construct an Audio
buffer from another Audio
buffer of a different
format.
Sourcepub fn get_mut(&mut self, index: usize) -> Option<&mut Frame<Chan, CH>>
pub fn get_mut(&mut self, index: usize) -> Option<&mut Frame<Chan, CH>>
Get a mutable reference to an audio frame.
Sourcepub fn as_mut_slice(&mut self) -> &mut [Frame<Chan, CH>]
pub fn as_mut_slice(&mut self) -> &mut [Frame<Chan, CH>]
Get a slice of all audio frames.
Sourcepub fn iter_mut(&mut self) -> IterMut<'_, Frame<Chan, CH>>
pub fn iter_mut(&mut self) -> IterMut<'_, Frame<Chan, CH>>
Returns an iterator that allows modifying each audio frame.
Sourcepub fn sample_rate(&self) -> NonZeroU32
pub fn sample_rate(&self) -> NonZeroU32
Get the sample rate of this audio buffer.
Source§impl<const CH: usize> Audio<Ch16, CH>
impl<const CH: usize> Audio<Ch16, CH>
Sourcepub fn with_i16_buffer<B>(hz: u32, buffer: B) -> Self
pub fn with_i16_buffer<B>(hz: u32, buffer: B) -> Self
Construct an Audio
buffer from an i16
buffer.
Sourcepub fn as_i16_slice(&mut self) -> &mut [i16]
pub fn as_i16_slice(&mut self) -> &mut [i16]
Get view of samples as an i16
slice.
Source§impl<const CH: usize> Audio<Ch24, CH>
impl<const CH: usize> Audio<Ch24, CH>
Sourcepub fn with_u8_buffer<B>(hz: u32, buffer: B) -> Self
pub fn with_u8_buffer<B>(hz: u32, buffer: B) -> Self
Construct an Audio
buffer from an u8
buffer.
Sourcepub fn as_u8_slice(&mut self) -> &mut [u8]
pub fn as_u8_slice(&mut self) -> &mut [u8]
Get view of samples as an u8
slice.
Trait Implementations§
Auto Trait Implementations§
impl<Chan, const CH: usize> Freeze for Audio<Chan, CH>
impl<Chan, const CH: usize> RefUnwindSafe for Audio<Chan, CH>where
Chan: RefUnwindSafe,
impl<Chan, const CH: usize> Send for Audio<Chan, CH>where
Chan: Send,
impl<Chan, const CH: usize> Sync for Audio<Chan, CH>where
Chan: Sync,
impl<Chan, const CH: usize> Unpin for Audio<Chan, CH>
impl<Chan, const CH: usize> UnwindSafe for Audio<Chan, CH>where
Chan: UnwindSafe,
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
Mutably borrows from an owned value. Read more