3个不稳定版本
0.2.0 | 2022年1月31日 |
---|---|
0.1.1 | 2021年6月22日 |
0.1.0 | 2021年6月22日 |
#717 in 音频
每月178次下载
45KB
946 行
RawSample
用于处理原始音频样本的库。
大多数音频API使用字节缓冲区。要对样本值进行任何操作,这些原始字节必须转换为和从数值类型。
此库旨在提供将最常见的样本格式从原始字节转换为浮点值的底层工具。支持f32和f64,以及大端和小端字节序。
use rawsample::{SampleWriter, SampleReader, SampleFormat};
// create a vec of samples
let values = vec![-0.5, -0.25, -0.125, 0.0, 0.125, 0.25, 0.5];
// create a vec to store raw bytes
let mut rawbytes: Vec<u8> = Vec::new();
// write the samples as raw bytes
f64::write_samples(&values, &mut rawbytes, &SampleFormat::S32LE).unwrap();
// create another vec to store the samples after reading back
let mut values2 = Vec::new();
let mut slice: &[u8] = &rawbytes;
// read the raw bytes back as samples into the new vec
f64::read_all_samples(&mut slice, &mut values2, &SampleFormat::S32LE).unwrap();
依赖关系
~155KB