#mpv #output

bin+lib mpv-audio

提供基于mpv的简单跨平台流音频API

2个版本

使用旧的Rust 2015

0.1.1 2018年5月20日
0.1.0 2018年5月20日

#637音频

MIT/Apache

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");
    }
}

无运行时依赖