Pure golang bindings for Windows Core Audio API. The cgo is not required. Forked from: https://github.com/moutend/go-wca
Find a file
2024-07-04 18:24:26 -05:00
_example Update all go.mod files under example directory 2023-03-04 20:21:34 +09:00
pkg/wca chore: rebase GitHub.com w/ git.auengun.net 2024-07-04 18:24:26 -05:00
.envrc Add files 2017-05-14 13:42:23 +09:00
.gitignore Ignore executables 2020-05-24 11:56:43 +09:00
CHANGELOG.md Update CHANGELOG 2020-05-24 13:47:45 +09:00
go.mod chore: rebase GitHub.com w/ git.auengun.net 2024-07-04 18:24:26 -05:00
go.sum chore: rebase GitHub.com w/ git.auengun.net 2024-07-04 18:24:26 -05:00
LICENSE Update copyright 2020-05-24 07:28:13 +09:00
Makefile Fix 2020-05-24 12:01:24 +09:00
README.md chore: rebase GitHub.com w/ git.auengun.net 2024-07-04 18:24:26 -05:00
TODO.md Update TODOs 2020-05-24 13:43:35 +09:00

go-wca

MIT License

Pure golang bindings for Windows Core Audio API. The cgo is not required.

Features

  • Rendering audio with shared timer driven mode.
  • Rendering audio with event driven mode.
  • Capturing audio with shared timer driven mode.
  • Capturing audio with event driven mode.
  • Loopback capturing with shared timer mode.
  • Loopback capturing with shared event mode.
  • Change volume of master or each channels.
  • Change volume of individual applications.
  • Hook audio device events.

If you're not familiar with Windows Core Audio API, visit the MSDN.

Prerequisites

  • Go 1.22 or later

Usage

The examples are located in _example directory. It helps you to learn how the interfaces can be used.

If you want to build all examples at once, run the command below:

make all VERSION=latest

Then the executables are generated in bin directory.

Documentation

Each APIs in this package correspond to native COM APIs, so that you can refer the documentation on MSDN as a full documentation of this package.

The following list contains the links to the documentation of native API which is available in this package.

Contributing

  1. Fork (https://git.auengun.net/GregoryDosh/go-wca/fork)
  2. Create a feature branch
  3. Add changes
  4. Run go fmt
  5. Commit your changes
  6. Open a new Pull Request

Author

Yoshiyuki Koyanagi moutend@gmail.com

LICENSE

MIT