Atrac3 Decoder in Rust. Can be used as a source for Rodio. Currently only supports
the .at3
/ .wav
RIFF WAV container format.
Decoder
implies rodio's Source
trait, as well as Iterator
.
use anyhow::Error;
use std::fs::File;
use std::io::BufReader;
fn main() -> Result<(), Error> {
let file = File::open("path/to/song.at3")?;
let reader = BufReader::new(file);
let decoder = atrac3p_decoder::Decoder::new(reader)?;
let device = rodio::default_output_device().unwrap();
let sink = rodio::Sink::new(&device);
sink.append(decoder);
sink.play();
sink.sleep_until_end();
Ok(())
}