use super::parsable::Parsable;
pub struct AudioSample {
pub value: f32
}
impl AudioSample {
pub fn parse_samples(bytes: &[u8]) -> Vec<AudioSample> {
bytes.chunks_exact(4).map(|chunk| {
AudioSample::from_bytes(chunk)
}).collect()
}
}
impl Parsable<AudioSample> for AudioSample {
fn from_bytes(bytes: &[u8]) -> AudioSample {
let sample = f32::from_le_bytes(bytes[0..4].try_into().unwrap());
AudioSample {
value: sample
}
}
}