#minimp3 #wrapper #decoding #mp3 #simd #don-t

empy

快速且安全的no_std minimp3包装器

2个版本

1.0.0-alpha22022年2月3日
1.0.0-alpha2022年1月31日

#893 in 音频

CC0许可证

30KB
228

Build Status (Travis-CI) Crates.io Documentation

rmp3

minimp3的惯用no_std绑定,不进行内存分配。

文档

文档托管在docs.rs上。

用法

将此添加到您的Cargo.toml

[dependencies]
rmp3 = "0.3"

... 或者,如果您需要std特定功能

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

最基础的示例是使用提供的流迭代器解码文件,如下所示

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(),
        );
    }
}

查看文档获取更多示例和信息。

功能

  • mp1-mp2:包含MP1和MP2解码代码。
  • simd (默认):在符合条件的目标上启用手写的SIMD优化。
  • std:添加需要std的东西

依赖关系

~190KB