Idiomatic no_std
bindings to lieff's minimp3.
Features
mp1-mp2
: Includes MP1 and MP2 decoding code.simd
(default): Enables handwritten SIMD optimizations on eligible targets.
Example
# fn main() -> Result<(), Box<dyn ::std::error::Error>> {
use empy::{DecoderStream, Frame};
let mp3 = std::fs::read("test.mp3")?;
let mut decoder = DecoderStream::new(&mp3);
while let Some(frame) = decoder.next() {
// *process frame here*
}
# Ok(())
# }
See documentation for [DecoderStream
] and its lower-level cousin [Decoder
] for more info.