mpv-audio 0.1.1

Provides a simple cross-platform streaming audio API based on mpv
Documentation
  • Coverage
  • 0%
    0 out of 30 items documented0 out of 3 items with examples
  • Size
  • Source code size: 16.55 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.74 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SoniEx2

mpv-audio

mpv-audio is a Rust crate that provides a simple, cross-platform streaming audio output API, powered by mpv.

It Just Works™!

Usage

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