A Rust audio playback library with a simple API, supporting multiple audio formats through optional decoders.
Rodio is a Rust library for audio playback that provides a straightforward interface for playing sound in applications. It handles audio output through the cpal library and supports various audio formats via optional decoders, making it suitable for games, media players, and other audio-enabled software.
Rust developers building applications that require audio playback, such as game developers, media player creators, and developers of audio-enabled software who need a simple, cross-platform solution.
Developers choose Rodio for its simple API that doesn't require deep audio knowledge, its cross-platform compatibility via cpal, and its extensible design that allows easy addition of missing features and control over audio components.
Rust audio playback library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Rodio's API is designed to be intuitive, allowing developers to play audio without deep audio knowledge, making it hard to make mistakes as stated in its goals.
Leverages the cpal library for audio output, ensuring support across major platforms like Linux, Windows, and macOS, as mentioned in the requirements.
Supports multiple audio formats including FLAC, MP3, Vorbis, and WAV through optional decoders like Symphonia, with feature flags for customization.
The library is built to be easily extended, allowing developers to add missing features or control audio components, aligning with its goal of extensibility.
Cross-compiling for aarch64/arm Linux targets requires detailed setup steps, such as installing multi-arch packages and setting environment variables, as outlined in the README.
The library has an upgrade guide for breaking changes, and examples are tied to specific commits, indicating potential instability and outdated resources.
On Linux, Rodio depends on ALSA development files (e.g., libasound2-dev), which can complicate deployment and build processes in constrained environments.