This repository contains some recent ALSA examples showing the basic functionalities of the ALSA Framework. They've been made in such a way that each example can be copy pasted into another project and should just work. However nothing is ever simple with ALSA.
- Playback: A generic simple playback of a WAV file
- Capture: Just capture the Microphone
- Utils:
- List-devices: Use ALSA to display the current PCM devices available
- Update-volume: Connect to the Master mixer and sweep the volume between 0 and 50%
 
The project uses the Meson build system so you'll need the following dependancies:
- alsa-devel / alsa-dev / libasound-devel, w/e your distro's name is for ALSA's userspace development lib
- meson
- ninja
- gcc (ofcourse...)
then run the following commands:
$ meson build
$ ninja -C build
$ ./build/<example_name>
Good luck... It's never easy with ALSA!..
If ALSA complains about card not found, validate the name of the card being openend. At the moment this is set to default. If your setup doesn't have a default for some magic reason, use the build/utils/alsa-list-devices example to see which PCM devices are available and change the snd_pcm_open function accordingly.