Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

PDTMFEncoder Class Reference

#include <dtmf.h>

Inheritance diagram for PDTMFEncoder:

PBYTEArray List of all members.

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 PMutexGetMutex ()
static void MakeSineTable ()
static double sine (unsigned int ptr)

Static Protected Attributes

static BOOL sineTabInit
static double sinetab [1<< 11]

Detailed Description

this class can be used to generate PCM data for tones (such as DTMF) at a sample rate of 8khz


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
DefaultToneLen 


Constructor & Destructor Documentation

PDTMFEncoder::PDTMFEncoder const char *  dtmf = NULL,
unsigned  len = DefaultToneLen
[inline]
 

Create PCM data for the specified DTMF sequence


Member Function Documentation

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::AddTone const PString str,
unsigned  len = DefaultToneLen
 

Add the PCM data for the specified tone sequence to the buffer

void PDTMFEncoder::AddTone char  ch,
unsigned  len = DefaultToneLen
 

Add the PCM data for the specified tone to the buffer

char PDTMFEncoder::DtmfChar PINDEX  i  ) 
 

Convenience function to get the dtmf symbol for index i, where i is in the range of 0 to 15

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

void PDTMFEncoder::GenerateDialTone  )  [inline]
 

Generate PCM data for 1 second of US standard dial tone of 350/440hz

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

static PMutex& PDTMFEncoder::GetMutex  )  [static, protected]
 

static void PDTMFEncoder::MakeSineTable  )  [static, protected]
 

static double PDTMFEncoder::sine unsigned int  ptr  )  [inline, static, protected]
 


Member Data Documentation

double PDTMFEncoder::sinetab[1<< 11] [static, protected]
 

BOOL PDTMFEncoder::sineTabInit [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Mar 15 10:44:53 2005 for PWLib by  doxygen 1.4.0