Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Audiofox, the audio capturer!
Audiofox is a cross-platform audio library that provides a unified interface for listing and capturing from application audio sources on Linux, macOS, and Windows. It can be used directly in Rust programs, or in Node apps with in-house bindings and pre-built binaries available on Codeberg.
Features
Audiofox has five simple commands, which behave consistently across all platforms:
audiofox::start()- Initialize and receive anAudioManager.AudioManager::list()- Receive a list ofAudioSource.AudioManager::link()- Link to one or moreAudioSource. If successful, start streaming audio.LinkHandle:unlink()- End the stream and clean up its resources.AudioManager::stop()- Stop theAudioManagerand clean up its resources.
These commands are all you need to enumerate capturable apps and receive isolated audio from them. You can create any number of AudioManager, link to any number of apps, and do not need any special knowledge to use Audiofox.
Bindings
Audiofox has a dedicated crate for bindings that extend its usage beyond Rust. Audiofox makes an effort to streamline this process, with simple structs and transparent representations where possible.
Node-API (Node.js, Electron, etc.)
Audiofox provides pre-built binaries that are ready to use with apps targeting the Node.js runtime. You can build these binaries manually in bindings/node, and try a reference implementation of app-isolated screenshare audio with npm start. This reference is extensively documented, and can help you use Audiofox in your own projects.
Examples
The flagship example of the Audiofox library is an interactive source selector and audio visualizer. You can try it on your machine with cargo run --examples visualizer. For a simple, non-interactive version, see visualizer-legacy.
Minimum Supported Rust Version (MSRV)
Audiofox has an MSRV of 1.88.0.
This library intends to support Rust versions released within at least the last 12 months. Additionally, the MSRV will only be increased if required, and will coincide with a minor version change.
More Information
CREDITS.md - Acknowledgements, special thanks.
DEVELOPMENT.md - Building, contributing, project structure.
IDEAS.md - Ideas for the future of Audiofox.
INSTALLING.md - Installation instructions.
LICENSE.md - The project's official license.