Skip to content

RustAudio/rodio

Repository files navigation

Audio playback library

Crates.io Version Crates.io Downloads Build Status

Rust playback library.

Playback is handled by cpal. Format decoding can be handled either by Symphonia, or by format-specific decoders:

See the docs for more details on backends.

The documentation contains an introduction to the library.

Dependencies (Linux only)

Rodio uses cpal library to send audio to the OS for playback. ALSA development files are needed to build cpal on Linux. These are provided as part of the libasound2-dev package on Debian and Ubuntu distributions and alsa-lib-devel on Fedora.

Minimal build

It is possible to build rodio without support for audio playback. In this configuration cpal dependency and its requirements are excluded. This configuration may be useful, for example, for decoding and processing audio in environments when the audio output is not available (e.g. in case of Linux, when ALSA is not available). See into_file example that works with this build.

In order to use rodio in this configuration disable default features and add the necessary ones. In this case the Cargo.toml dependency would look like:

[dependencies]
rodio = { version = "0.20.1", default-features = false, features = ["symphonia-all"] }

Contributing

For information on how to contribute to this project, please see our Contributing Guide.

License

Licensed under either of

at your option.

License of your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.