14 releases
Uses new Rust 2024
new 0.4.1 | Mar 18, 2025 |
---|---|
0.4.0 | Mar 16, 2025 |
0.3.5 | Sep 2, 2024 |
0.3.4 | Sep 22, 2023 |
0.1.2 | Jul 30, 2023 |
#135 in Audio
195 downloads per month
83KB
2K
SLoC
raplay
Library for playing audio.
The library is very new and not much tested.
Features
- Play(Resume)/Pause
- Callback when audio ends
- Callback for errors
- Volume
- Seeking
- Get audio position and length
- Fade-in/fade-out on play/pause
Supported formats
All the decoding is done by symphonia, so the supported formats are the same as symphonia.
Examples
Play a sine wave
use raplay::{Sink, source::SineSource};
let sink = Sink::default(); // get the default output
let src = SineSource::new(1000.); // create 1000Hz sine source
sink.load(src, true)?; // play the sine wave
Play a mp3 file
use std::fs::File;
use raplay::{Sink, source::Symph};
let sink = Sink::default(); // get the default output
let file = File::open("music.mp3")?; // open the mp3 file
let src = Symph::try_new(file, &Default::default())?; // create a symphonia decoder source
sink.load(src, true)?; // play the mp3 file
Known issues
- If the device doesn't support the required sample rate, aliasing may occur
How to get it
It is available on crates.io
Links
- Author: BonnyAD9
- GitHub repository: BonnyAD/raplay
- Package: crates.io
- Documentation: docs.rs
- My Website: bonnyad9.github.io
Dependencies
~5–36MB
~545K SLoC