Crate wasapi[−][src]
Expand description
Wasapi bindings for Rust
The aim of this crate is to provide easy and safe access to the Wasapi API for audio playback and capture.
The presented API is all safe Rust, but structs and functions closely follow the original Windows API.
For details on how to use Wasapi, please see the Windows documentation.
Bindings are generated automatically using the windows crate.
Supported functionality
These things have been implemented so far:
- Audio playback and capture
- Shared and exclusive modes
- Loopback capture
Examples
-
The
playsine
example plays a sine wave in shared mode on the default output device. -
The
loopback
example shows how to simultaneously capture and render sound, with separate threads for capture and render.
Modules
Windows |
Structs
AudioCaptureClient | Struct wrapping an IAudioCaptureClient. |
AudioClient | |
AudioRenderClient | Struct wrapping an IAudioRenderClient. |
Device | Struct wrapping an IMMDevice. |
DeviceCollection | Struct wrapping an IMMDeviceCollection. |
Handle | Struct wrapping a HANDLE (event handle). |
WasapiError | Error returned by the Wasapi crate. |
WaveFormat | Struct wrapping a WAVEFORMATEXTENSIBLE format descriptor. |
Enums
Direction | Audio direction, playback or capture. |
SampleType | Sample type, float or integer |
ShareMode | Sharemode for device |
Constants
PKEY_Device_DeviceDesc | |
PKEY_Device_FriendlyName |
Functions
get_default_device | Get the default playback or capture device |