use std::{env, io, io::Write};
use creak;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let file_name = match env::args().nth(1) {
Some(arg) => arg,
None => {
eprintln!("No audio file specified!");
return Ok(())
}
};
let decoder = creak::Decoder::open(&file_name)?;
let info = decoder.info();
eprintln!("Format: {}; Channels: {}; Sample Rate: {}Hz",
info.format(),
info.channels(),
info.sample_rate()
);
let mut stdout = io::stdout();
let mut num_samples: usize = 0;
for sample in decoder.into_samples()? {
stdout.write(&sample?.to_le_bytes())?;
num_samples += 1;
}
eprintln!("{} samples(s) read.", num_samples);
Ok(())
}