#[derive(Debug, Clone)]
pub struct AudioData {
pub samples: Vec<f32>,
pub sample_rate: u32,
pub channels: usize,
}
impl AudioData {
pub fn new(samples: Vec<f32>, sample_rate: u32, channels: usize) -> Self {
Self {
samples,
sample_rate,
channels,
}
}
pub fn duration(&self) -> f32 {
self.samples.len() as f32 / (self.sample_rate as f32 * self.channels as f32)
}
pub fn len(&self) -> usize {
self.samples.len()
}
pub fn is_empty(&self) -> bool {
self.samples.is_empty()
}
}