Current C library version: v0.11.22
This library provides a wrapper around the cross-platform miniaudio C library.
It uses purego to load static builds of the miniaudio library.
The miniaudio library is cross-compiled using zig (v0.13.0) as C compiler.
The static binary of the target platform is embedded into the Go binary when importing this package.
This allows for static Go binaries which can be compiled with CGO_ENABLED=0
.
Special effort was made to translate miniaudio's C API to a Go API which should feel idiomatic to Go developers, while remaining familiar for miniaudio users.
The current scope of the project is not to provide one-to-one feature parity with miniaudio, but to provide a cross-platform audio solution for Go developers without a dependency on CGO.
Initial focus is on Linux & Windows operating systems with amd64
architecture.
- Look into contributing go:embed support to purego.