2个版本
使用旧的Rust 2015
0.1.1 | 2018年5月20日 |
---|---|
0.1.0 | 2018年5月20日 |
#637 在 音频
7KB
89 行
mpv-audio
mpv-audio 是一个Rust包,它提供了一个简单、跨平台的流音频输出API,由mpv提供支持。
它只需“工作”™!
用法
extern crate mpv_audio;
use mpv_audio::*;
use std::io::prelude::*;
fn main() {
let mut stream = AudioOut::open(AudioFormat::S8, 8000, 1).expect("Couldn't open audio output");
let mut array = [0u8; 128];
let mut f: f32 = 0.0;
loop {
{
let mut writer: &mut [u8] = &mut array;
while !writer.is_empty() {
writer.write(&[(f.sin()*127.5-0.5) as i8 as u8]).ok();
f += 0.125; // 0b0.001
if f >= std::f32::consts::PI*4. {
f -= std::f32::consts::PI*4.;
}
}
}
stream.write_all(&array).expect("couldn't write");
}
}