Provides a simple interface for tone generation (synthesised sounds) that is supported on all audio-capable devices.
The playing of sounds is handled by the Media Server and this, in turn, is responsible for managing the interface to audio hardware. On some devices, this may be implemented as a device driver; on others it may be implemented as a connection to a lower level hardware server.
Clients using this API must have an active scheduler running in their thread because the implementation of the API uses active objects and callbacks.
Some devices may have hardware which can generate tones, others may only support simple streams of digital audio and require synthesis to be performed in software. This detail is hidden from clients of the API.
The API supports the playing of different tone types, including simple tones, DTMF strings and pre-defined tone sequences.
The different tone types can be played through the same instance
of the CMdaAudioToneUtility
class. The instance needs to
be configured for a tone type before starting to play. Configuration is done
through a simple function call.
Configuration and playback are both asynchronous operations and completion of requests is indicated through callback functions implemented by the client.