cpal
cpal copied to clipboard
Cross-platform audio I/O library in pure Rust
This PR is to launch the v0.17 release train. If possible I'd like to slip in the following PRs: - #1058
I'm sure this seems like a very niche thing, but right now the default features and conditional compilation use some android backend if built on android. *But*, this also happens...
On Android, amongst other platforms, when using the default buffer size the platform sets the buffer size, this would be useful to query at runtime. Context on PR - https://github.com/RustAudio/cpal/pull/1039
Fixes #740 (mostly). Updated version of #754 that aims to address the issues mentioned in that PR. ## Background When you currently play some audio on the default device using...
This PR introduces an `StreamConfigBuilder` with support for platform-specific audio configuration options. This addresses recurring requests for fine-grained control over backend-specific settings while maintaining cross-platform compatibility. At the same time,...
Implements missing microphone/input support for WebAudio and Emscripten backends. Previously, calling any input-related methods would return empty results or panic. ## Implementation Uses `navigator.mediaDevices.getUserMedia()` to request microphone access, then creates...
I noticed it because of the compile warning. Fix WASAPI Host warnings: Added Stream and impl handling of input/output error configs to return Result for better user experience and better...
Users can enable AEC (Acoustic Echo Canceler) via setting `VOICE_COMMUNICATION` for recording audio on Android (refer to [here](https://source.android.com/docs/core/audio/implement-pre-processing)), which is a powerful and important feature for developing Android applications. However,...
So I have a music player application and I would like for the user to be able to select the audio output device. The user could switch devices or unplug...