51eba20c44
Re-exports host-specific types so that they are available within the platform module if necessary (e.g. host::asla::Host as AlsaHost). Allows for converting platform-specific host types (e.g. AlsaHost) into the dynamically dispatched type generated for the target platform (`Host`). |
||
---|---|---|
.circleci | ||
alsa-sys | ||
examples | ||
src | ||
.gitignore | ||
.rustfmt.toml | ||
.travis.yml | ||
CHANGELOG.md | ||
Cargo.toml | ||
README.md | ||
appveyor.yml |
README.md
CPAL - Cross-Platform Audio Library
Low-level library for audio input and output in pure Rust.
This library currently supports the following:
- Enumerate supported audio hosts.
- Enumerate all available audio devices.
- Get the current default input and output devices.
- Enumerate known supported input and output stream formats for a device.
- Get the current default input and output stream formats for a device.
- Build and run input and output PCM streams on a chosen device with a given stream format.
Currently supported backends include:
- Linux (via ALSA)
- Windows
- macOS (via CoreAudio)
- iOS (via CoreAudio)
- Emscripten
Note that on Linux, the ALSA development files are required. These are provided
as part of the libasound2-dev
package on Debian and Ubuntu distributions and
alsa-lib-devel
on Fedora.