1 // Generate endless screeching noise to stdout 2 3 // Usage: cargo run --example wavstdout | mpv - 4 5 extern crate hound; 6 use std::io::Write; 7 main()8fn main() { 9 let spec = hound::WavSpec { 10 bits_per_sample: 16, 11 channels: 1, 12 sample_format: hound::SampleFormat::Int, 13 sample_rate: 16000, 14 }; 15 16 let v = spec.into_header_for_infinite_file(); 17 18 let so = std::io::stdout(); 19 let mut so = so.lock(); 20 so.write_all(&v[..]).unwrap(); 21 22 loop { 23 for i in 0..126 { 24 use hound::Sample; 25 let x : i16 = (i * 256) as i16; 26 if x.write(&mut so, 16).is_err() { 27 return; 28 } 29 } 30 } 31 } 32