Inherited by ost::DTMFTones, ost::MFTones, and ost::TelTone.
Public Member Functions
RategetRate (void)
Get the sample encoding rate being used for the tone generator.
size_t getSamples (void)
Get the frame size for the number of audio samples generated.
bool isSilent (void)
Test if the tone generator is currently set to silence.
virtual LineargetFrame (void)
Iterate the tone frame, and extract linear samples in native frame.
unsigned getFrames (Linear buffer, unsigned number)
This is used to copy one or more pages of framed audio quickly to an external buffer.
virtual bool isComplete (void)
See if at end of tone. AudioTone (timeout_t duration=20, Raterate=rate8khz)
Construct a silent tone generator of specific frame size. AudioTone (unsigned f1, unsigned f2, Level l1, Level l2, timeout_t duration=20, Rate sample=rate8khz)
Construct a dual tone frame generator. AudioTone (unsigned freq, Level level, timeout_t duration=20, Rate sample=rate8khz)
Construct a single tone frame generator.
virtual ~AudioTone ()
Protected Member Functions
void silence (void)
Set the frame to silent.
void reset (void)
Reset the tone generator completely.
void cleanup (void)
Cleanup for virtual destructors to use.
void single (unsigned freq, Level level)
Set frame to generate single tone.
void dual (unsigned f1, unsigned f2, Level l1, Level l2)
Set frame to generate dual tone.
Protected Attributes
Raterate
unsigned samples
Linearframe
double df1
double df2
double p1
double p2
Levelm1
Levelm2
bool silencer
Detailed Description
The AudioTone class is used to create a frame of audio encoded single or dualtones.
The frame will be iterated for each request, so a continual tone can be extracted by frame.
f1 frequency of tone 1.
f2 frequency of tone 2.
l1 level of tone 1.
l2 level of tone 2.
duration of frame in milliseconds.
sample rate being generated.