PortAudio.NET
Low-level C# bindings for PortAudio.
Currently only Windows x64 is well-tested, although Linux x64 is expected to work if you regenerate the bindings.
Most of PortAudio's host API-specific functionality is not yet exposed with the exception of WASAPI.
License
PortAudio.NET
is released as open source under the MIT license.
Additionally, this project integrates and makes use of third-party dependencies, subject to separate license agreements. See the third-party notice listing for details.
Building
Windows Prerequisites
Windows 10 22H2 x64 or later is recommended.
Tool | Tested Version |
---|---|
Visual Studio | 2022 (17.11.5) |
.NET 8.0 SDK | 8.0.403 |
CMake | 3.30.2 |
Visual Studio must have the "Desktop development with C++" workload installed.
Linux Prerequisites
Ubuntu 24.04 Noble x64 is tested, but most distros are expected to work.
Package | Tested Version |
---|---|
build-essential |
12.10 |
cmake |
3.28.3 |
dotnet-sdk-8.0 |
8.0.110 |
Ubuntu 22.10 and later currently require manually installing libtinfo5
, see this issue for details.
Building PortAudio and generating the bindings
- Ensure Git submodules are up-to-date with
git submodule update --init --recursive
- Build and run
generate.cmd
(Windows) orgenerate.sh
(Linux) from the repository root
Building and running the samples
Simply build+run any of the samples as you would any other .NET project. (IE: Using F5 in Visual Studio or dotnet run --project src/Samples/ListDevices --framework net8.0
.)
The native PortAudio code will be built automatically if you didn't build it yourself.