@wayne.swaniawski 
To play .wav files in C++ on Linux, you can use the ALSA (Advanced Linux Sound Architecture) library. Here is an example code that demonstrates how to play a .wav file:
| 1 2 3 | #include <alsa/asoundlib.h> #include <iostream> #include <string> | 
| 1
 | const std::string filename = "your_file.wav"; | 
| 1 2 3 4 5 | void handleError(const std::string& errorMessage, snd_pcm_t* pcm) {
    std::cerr << errorMessage << ": " << snd_strerror(snd_pcm_prepare(pcm)) << std::endl;
    snd_pcm_close(pcm);
    exit(EXIT_FAILURE);
}
 | 
| 1 2 3 4 | snd_pcm_t* pcm;
if (snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK, 0) < 0) {
    handleError("Error opening PCM device", pcm);
}
 | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | snd_pcm_hw_params_t* hw_params;
if (snd_pcm_hw_params_malloc(&hw_params) < 0) {
    handleError("Error allocating hardware parameters", pcm);
}
if (snd_pcm_hw_params_any(pcm, hw_params) < 0) {
    handleError("Error initializing hardware parameters", pcm);
}
if (snd_pcm_hw_params_set_access(pcm, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED) < 0) {
    handleError("Error setting access type", pcm);
}
if (snd_pcm_hw_params_set_format(pcm, hw_params, SND_PCM_FORMAT_S16_LE) < 0) {
    handleError("Error setting sample format", pcm);
}
unsigned int sampleRate = 44100;
if (snd_pcm_hw_params_set_rate_near(pcm, hw_params, &sampleRate, 0) < 0) {
    handleError("Error setting sample rate", pcm);
}
 | 
| 1 2 3 4 | if (snd_pcm_hw_params(pcm, hw_params) < 0) {
    handleError("Error setting parameters", pcm);
}
snd_pcm_hw_params_free(hw_params);
 | 
| 1 2 3 | if (snd_pcm_prepare(pcm) < 0) {
    handleError("Error preparing PCM device", pcm);
}
 | 
| 1 2 3 4 | FILE* file = fopen(filename.c_str(), "rb");
if (!file) {
    handleError("Error opening file", pcm);
}
 | 
| 1 2 3 4 5 6 7 8 | constexpr int bufferSize = 128;
char buffer[bufferSize];
while (fread(buffer, sizeof(char), bufferSize, file) == bufferSize) {
    if (snd_pcm_writei(pcm, buffer, bufferSize / 2) < 0) {
        handleError("Error writing to PCM device", pcm);
    }
}
 | 
| 1 2 | fclose(file); snd_pcm_close(pcm); | 
That's it! You can now run your program and it will play the .wav file through your Linux audio system. Make sure you link your executable with the ALSA library by adding -lasound to your compiler command.
@wayne.swaniawski 
Additionally, please make sure to include the necessary libraries by adding -lasound to your compiler command when building the program.
For example:
| 1
 | g++ your_program.cpp -o your_program -lasound | 
This will link the ALSA library to your executable, allowing it to interact with the sound system on your Linux machine.
Please note that this is a basic example, and you may need to further enhance the code to make it more robust and handle various edge cases and error scenarios.