All Projects → HEnquist → wasapi-rs

HEnquist / wasapi-rs

Licence: MIT license
Simple Wasapi bindings for Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to wasapi-rs

Musikcube
a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
Stars: ✭ 2,663 (+17653.33%)
Mutual labels:  wasapi
Miniaudio
Single file audio playback and capture library written in C.
Stars: ✭ 1,889 (+12493.33%)
Mutual labels:  wasapi
FFmpegPlayer
Simple FFmpeg video player
Stars: ✭ 72 (+380%)
Mutual labels:  wasapi
DirectN
Direct interop Code for .NET Framework, .NET Core and .NET 5+ : DXGI, WIC, DirectX 9 to 12, Direct2D, Direct Write, Direct Composition, Media Foundation, WASAPI, CodecAPI, GDI, Spatial Audio, DVD, Windows Media Player, UWP DXInterop, etc.
Stars: ✭ 128 (+753.33%)
Mutual labels:  wasapi

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
  • Notifications for volume change, device disconnect etc

Included examples

Example Description
playsine Plays a sine wave in shared mode on the default output device.
playsine_events Similar to playsine but also listens to notifications.
loopback Shows how to simultaneously capture and render sound, with separate threads for capture and render.
record Records audio from the default device, and saves the raw samples to a file.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].