Cross-platform audio in Rust
Go to file
mitchmindtree c20978fc01 Add an example that demonstrates feeding input directly to output with some latency 2018-02-17 15:33:00 +11:00
.circleci Add testing on circle-ci (#171) 2017-10-21 15:08:34 +02:00
alsa-sys Bump alsa-sys version number 2017-03-06 15:57:18 +00:00
examples Add an example that demonstrates feeding input directly to output with some latency 2018-02-17 15:33:00 +11:00
src Update to a more general Device and Stream API. Add support for input streams (E.g. microphone). Add default format methods. (#201) 2018-02-12 14:10:24 +01:00
.gitignore Update to a more general Device and Stream API. Add support for input streams (E.g. microphone). Add default format methods. (#201) 2018-02-12 14:10:24 +01:00
.rustfmt.toml Run rustfmt on the code (#162) 2017-10-11 13:24:49 +02:00
.travis.yml Stop publishing on gh-pages 2017-02-10 09:45:41 +01:00
CHANGELOG.md Publish 0.8 for new Device and Stream API. Update CHANGELOG. (#209) 2018-02-15 08:47:43 +01:00
Cargo.toml Publish 0.8 for new Device and Stream API. Update CHANGELOG. (#209) 2018-02-15 08:47:43 +01:00
README.md Update to a more general Device and Stream API. Add support for input streams (E.g. microphone). Add default format methods. (#201) 2018-02-12 14:10:24 +01:00
appveyor.yml Fix the appveyor build 2014-12-23 15:28:38 +01:00

README.md

CPAL - Cross-Platform Audio Library

Build Status Crates.io docs.rs

Low-level library for audio input and output in pure Rust.

This library currently supports the following:

  • 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