[−][src]Crate soloud
soloud
Rust bindings for the soloud audio engine library.
Supported formats: wav, mp3, ogg. The library also comes with a speech synthesizer.
Still pre-alpha.
Usage
[dependencies]
soloud = "0.2"
Or to use the latest developments:
[dependencies]
soloud = { git = "https://!github.com/moalyousef/soloud-rs" }
To play audio:
use soloud::*; fn main() -> Result<(), Box<dyn std::error::Error>> { let mut sl = Soloud::default()?; let mut wav = audio::Wav::default(); wav.load(&std::path::Path::new("sample.wav"))?; sl.play(&wav); while sl.voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } wav.load(&std::path::Path::new("Recording.mp3"))?; sl.play(&wav); while sl.voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } sl Ok(()) }
To play speech:
use soloud::*; fn main() -> Result<(), Box<dyn std::error::Error>> { let mut sl = Soloud::default()?; let mut speech = audio::Speech::default(); speech.set_text("Hello World")?; sl.play(&speech); while sl.active_voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } speech.set_text("1 2 3")?; sl.play(&speech); while sl.active_voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } speech.set_text("Can you hear me?")?; sl.play(&speech); while sl.active_voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } sl Ok(()) }
To add a filter:
use soloud::*; fn main() -> Result<(), Box<dyn std::error::Error>> { let mut sl = Soloud::default()?; let mut wav = audio::Wav::default(); let mut filt = filter::EchoFilter::default(); filt.set_params(0.2)?; wav.load(&std::path::Path::new("sample.wav"))?; wav.set_filter(0, Some(&filt)); sl.play(&wav); while sl.voice_count() > 0 { std::thread::sleep(std::time::Duration::from_millis(100)); } sl Ok(()) }
Re-exports
pub use audio::*; |
pub use filter::*; |
pub use prelude::*; |
Modules
audio | |
filter | |
prelude |
Structs
Soloud |
Type Definitions
Handle |