#include <dtmf.h>
Public Types | |
enum | { DefaultToneLen = 100 } |
Public Member Functions | |
PDTMFEncoder (const char *dtmf=NULL, unsigned len=DefaultToneLen) | |
void | AddTone (char ch, unsigned len=DefaultToneLen) |
void | AddTone (const PString &str, unsigned len=DefaultToneLen) |
void | AddTone (double freq1, double freq2=0, unsigned len=DefaultToneLen) |
void | GenerateRingBackTone () |
void | GenerateDialTone () |
void | GenerateBusyTone () |
char | DtmfChar (PINDEX i) |
Static Protected Member Functions | |
static PMutex & | GetMutex () |
static void | MakeSineTable () |
static double | sine (unsigned int ptr) |
Static Protected Attributes | |
static BOOL | sineTabInit |
static double | sinetab [1<< 11] |
PDTMFEncoder::PDTMFEncoder | ( | const char * | dtmf = NULL , |
|
unsigned | len = DefaultToneLen | |||
) | [inline] |
Create PCM data for the specified DTMF sequence
dtmf | character string to encode |
len | length of each DTMF tone in milliseconds |
void PDTMFEncoder::AddTone | ( | char | ch, | |
unsigned | len = DefaultToneLen | |||
) |
Add the PCM data for the specified tone to the buffer
ch | character to encode |
len | length of DTMF tone in milliseconds |
void PDTMFEncoder::AddTone | ( | const PString & | str, | |
unsigned | len = DefaultToneLen | |||
) |
Add the PCM data for the specified tone sequence to the buffer
str | string to encode |
len | length of DTMF tone in milliseconds |
void PDTMFEncoder::AddTone | ( | double | freq1, | |
double | freq2 = 0 , |
|||
unsigned | len = DefaultToneLen | |||
) |
Add the PCM data for the specified dual-frequency tone to the buffer freq2 can be zero, which will generate a single frequency tone
void PDTMFEncoder::GenerateRingBackTone | ( | ) | [inline] |
Generate PCM data for a single cadence of the US standard ring tone of 440/480hz for 2 seconds, followed by 5 seconds of silence
void PDTMFEncoder::GenerateDialTone | ( | ) | [inline] |
Generate PCM data for 1 second of US standard dial tone of 350/440hz
void PDTMFEncoder::GenerateBusyTone | ( | ) | [inline] |
Generate PCM data for a single cadence of the US standard busy tone of 480/620hz for 1/2 second, 1/2 second of silence
char PDTMFEncoder::DtmfChar | ( | PINDEX | i | ) |
Convenience function to get the ASCII character for a DTMF index, where the index varies from 0 to 15
i | index of tone |
static PMutex& PDTMFEncoder::GetMutex | ( | ) | [static, protected] |
static void PDTMFEncoder::MakeSineTable | ( | ) | [static, protected] |
static double PDTMFEncoder::sine | ( | unsigned int | ptr | ) | [inline, static, protected] |
BOOL PDTMFEncoder::sineTabInit [static, protected] |
double PDTMFEncoder::sinetab[1<< 11] [static, protected] |