0x08088405 / rmp3

fast & safe no_std minimp3 wrapper
Creative Commons Zero v1.0 Universal
14 stars 10 forks source link
audio mp3 mp3-decoder rust

Build Status (Travis-CI) Crates.io Documentation

rmp3

Idiomatic no_std bindings to minimp3 which don't allocate.

Documentation

The documentation is hosted online over at docs.rs.

Usage

Add this to your Cargo.toml:

[dependencies]
rmp3 = "0.3"

... or, if you need std specific features:

[dependencies]
rmp3 = { features = ["std"], version = "0.3" }

The most basic example is using the provided streaming iterator to decode a file, like so:

use rmp3::{Decoder, Frame};

let mp3 = std::fs::read("test.mp3")?;
let mut decoder = Decoder::new(&mp3);
while let Some(frame) = decoder.next() {
    if let Frame::Audio(audio) = frame {
        // process audio frame here!
        imaginary_player.append(
            audio.channels(),
            audio.sample_count(),
            audio.sample_rate(),
            audio.samples(),
        );
    }
}

Check out the documentation for more examples and info.

Features