In order for an application to produce sound, the system must include several components.
This whole system is referred to as the QNX Sound Architecture (QSA). QSA has a rich heritage and owes a large part of its design to version 0.5.2 of the Advanced Linux Sound Architecture (ALSA), but as both systems continued to develop and expand, direct compatibility between the two was lost. QSA also provides audio concurrency management that can manage audio ducking, audio preemption, and volume ramping.
This document concentrates on defining the API and providing examples of how to use it. But before defining the API calls themselves, you need a little background on the architecture itself. If you want to jump in right away, see the examples of a wav player and a wav recorder in the wave.c and waverec.c appendixes.