ccAudio
|
MFTones is used to generate a series of mf audio data from a "telephone" number passed as an ASCII string. More...
#include <audio2.h>
Public Member Functions | |
MFTones (const char *digits, Level level, timeout_t duration=20, timeout_t interdigit=60) | |
Generate a mf dialer for a specified dialing string. More... | |
~MFTones () | |
Linear | getFrame (void) |
bool | isComplete (void) |
![]() | |
Rate | getRate (void) |
Get the sample encoding rate being used for the tone generator. More... | |
size_t | getSamples (void) |
Get the frame size for the number of audio samples generated. More... | |
bool | isSilent (void) |
Test if the tone generator is currently set to silence. More... | |
unsigned | getFrames (Linear buffer, unsigned number) |
This is used to copy one or more pages of framed audio quickly to an external buffer. More... | |
AudioTone (timeout_t duration=20, Rate rate=rate8khz) | |
Construct a silent tone generator of specific frame size. More... | |
AudioTone (unsigned f1, unsigned f2, Level l1, Level l2, timeout_t duration=20, Rate sample=rate8khz) | |
Construct a dual tone frame generator. More... | |
AudioTone (unsigned freq, Level level, timeout_t duration=20, Rate sample=rate8khz) | |
Construct a single tone frame generator. More... | |
virtual | ~AudioTone () |
Protected Attributes | |
unsigned | remaining |
unsigned | mfframes |
timeout_t | frametime |
const char * | digits |
Level | level |
bool | complete |
bool | kflag |
![]() | |
Rate | rate |
unsigned | samples |
Linear | frame |
double | df1 |
double | df2 |
double | p1 |
double | p2 |
Level | m1 |
Level | m2 |
bool | silencer |
Additional Inherited Members | |
![]() | |
enum | Rate { rateUnknown, rate6khz = 6000, rate8khz = 8000, rate16khz = 16000, rate32khz = 32000, rate44khz = 44100 } |
Audio encoding rate, samples per second. More... | |
enum | Mode { modeRead, modeReadAny, modeReadOne, modeWrite, modeCache, modeInfo, modeFeed, modeAppend, modeCreate } |
File processing mode, whether to skip missing files, etc. More... | |
enum | Encoding { unknownEncoding = 0, g721ADPCM, g722Audio, g722_7bit, g722_6bit, g723_2bit, g723_3bit, g723_5bit, gsmVoice, msgsmVoice, mulawAudio, alawAudio, mp1Audio, mp2Audio, mp3Audio, okiADPCM, voxADPCM, sx73Voice, sx96Voice, cdaStereo, cdaMono, pcm8Stereo, pcm8Mono, pcm16Stereo, pcm16Mono, pcm32Stereo, pcm32Mono, speexVoice, speexAudio, g729Audio, ilbcAudio, speexUltra, speexNarrow = speexVoice, speexWide = speexAudio, g723_4bit = g721ADPCM } |
Audio encoding formats. More... | |
enum | Format { raw, snd, riff, mpeg, wave } |
Audio container file format. More... | |
enum | DeviceMode { PLAY, RECORD, PLAYREC } |
Audio device access mode. More... | |
enum | Error { errSuccess = 0, errReadLast, errNotOpened, errEndOfFile, errStartOfFile, errRateInvalid, errEncodingInvalid, errReadInterrupt, errWriteInterrupt, errReadFailure, errWriteFailure, errReadIncomplete, errWriteIncomplete, errRequestInvalid, errTOCFailed, errStatFailed, errInvalidTrack, errPlaybackFailed, errNotPlaying, errNoCodec } |
Audio error conditions. More... | |
typedef int16_t | snd16_t |
typedef int32_t | snd32_t |
typedef int16_t | Level |
typedef int16_t | Sample |
typedef int16_t * | Linear |
typedef unsigned long | timeout_t |
typedef unsigned char * | Encoded |
typedef enum Rate | Rate |
typedef enum Mode | Mode |
typedef enum Encoding | Encoding |
typedef enum Format | Format |
typedef enum DeviceMode | DeviceMode |
typedef enum Error | Error |
![]() | |
static Level | tolevel (float dbm) |
Convert dbm power level to integer value (0-32768). More... | |
static float | todbm (Level power) |
Convert integer power levels to dbm. More... | |
static bool | hasDevice (unsigned device=0) |
Test for the presense of a specified (indexed) audio device. More... | |
static AudioDevice * | getDevice (unsigned device=0, DeviceMode mode=PLAY) |
Get a audio device object that can be used to play or record audio. More... | |
static const char * | getCodecPath (void) |
Get pathname to where loadable codec modules are stored. More... | |
static const char * | getMIME (Info &info) |
Get the mime descriptive type for a given Audio encoding description, usually retrieved from a newly opened audio file. More... | |
static const char * | getName (Encoding encoding) |
Get the short ascii description used for the given audio encoding type. More... | |
static const char * | getExtension (Encoding encoding) |
Get the preferred file extension name to use for a given audio encoding type. More... | |
static Encoding | getEncoding (const char *name) |
Get the audio encoding format that is specified by a short ascii name. More... | |
static Encoding | getStereo (Encoding encoding) |
Get the stereo encoding format associated with the given format. More... | |
static Encoding | getMono (Encoding encoding) |
Get the mono encoding format associated with the given format. More... | |
static bool | isLinear (Encoding encoding) |
Test if the audio encoding format is a linear one. More... | |
static bool | isBuffered (Encoding encoding) |
Test if the audio encoding format must be packetized (that is, has irregular sized frames) and must be processed only through buffered codecs. More... | |
static bool | isMono (Encoding encoding) |
Test if the audio encoding format is a mono format. More... | |
static bool | isStereo (Encoding encoding) |
Test if the audio encoding format is a stereo format. More... | |
static Rate | getRate (Encoding encoding) |
Return default sample rate associated with the specified audio encoding format. More... | |
static Rate | getRate (Encoding e, Rate request) |
Return optional rate setting effect. More... | |
static timeout_t | getFraming (Encoding encoding, timeout_t timeout=0) |
Return frame timing for an audio encoding format. More... | |
static timeout_t | getFraming (Info &info, timeout_t timeout=0) |
Return frame time for an audio source description. More... | |
static bool | isEndian (Encoding encoding) |
Test if the endian byte order of the encoding format is different from the machine's native byte order. More... | |
static bool | isEndian (Info &info) |
Test if the endian byte order of the audio source description is different from the machine's native byte order. More... | |
static bool | swapEndian (Encoding encoding, void *buffer, unsigned number) |
Optionally swap endian of audio data if the encoding format endian byte order is different from the machine's native endian. More... | |
static void | swapEncoded (Info &info, Encoded data, size_t bytes) |
Optionally swap endian of encoded audio data based on the audio encoding type, and relationship to native byte order. More... | |
static bool | swapEndian (Info &info, void *buffer, unsigned number) |
Optionally swap endian of audio data if the audio source description byte order is different from the machine's native endian byte order. More... | |
static Level | getImpulse (Encoding encoding, void *buffer, unsigned number) |
Get the energey impulse level of a frame of audio data. More... | |
static Level | getImpulse (Info &info, void *buffer, unsigned number=0) |
Get the energey impulse level of a frame of audio data. More... | |
static Level | getPeak (Encoding encoding, void *buffer, unsigned number) |
Get the peak (highest energy) level found in a frame of audio data. More... | |
static Level | getPeak (Info &info, void *buffer, unsigned number=0) |
Get the peak (highest energy) level found in a frame of audio data. More... | |
static void | toTimestamp (timeout_t duration, char *address, size_t size) |
Provide ascii timestamp representation of a timeout value. More... | |
static timeout_t | toTimeout (const char *timestamp) |
Convert ascii timestamp representation to a timeout number. More... | |
static int | getFrame (Encoding encoding, int samples=0) |
Returns the number of bytes in a sample frame for the given encoding type, rounded up to the nearest integer. More... | |
static int | getCount (Encoding encoding) |
Returns the number of samples in all channels for a frame in the given encoding. More... | |
static unsigned long | toSamples (Encoding encoding, size_t bytes) |
Compute byte counts of audio data into number of samples based on the audio encoding format used. More... | |
static unsigned long | toSamples (Info &info, size_t bytes) |
Compute byte counts of audio data into number of samples based on the audio source description used. More... | |
static size_t | toBytes (Info &info, unsigned long number) |
Compute the number of bytes a given number of samples in a given audio encoding will occupy. More... | |
static size_t | toBytes (Encoding encoding, unsigned long number) |
Compute the number of bytes a given number of samples in a given audio encoding will occupy. More... | |
static void | fill (unsigned char *address, int number, Encoding encoding) |
Fill an audio buffer with "empty" (silent) audio data, based on the audio encoding format. More... | |
static bool | loadPlugin (const char *path) |
Load a dso plugin (codec plugin), used internally... More... | |
static size_t | maxFramesize (Info &info) |
Maximum framesize for a given coding that may be needed to store a result. More... | |
![]() | |
static const unsigned | ndata |
![]() | |
void | silence (void) |
Set the frame to silent. More... | |
void | reset (void) |
Reset the tone generator completely. More... | |
void | cleanup (void) |
Cleanup for virtual destructors to use. More... | |
void | single (unsigned freq, Level level) |
Set frame to generate single tone... More... | |
void | dual (unsigned f1, unsigned f2, Level l1, Level l2) |
Set frame to generate dual tone... More... | |
MFTones is used to generate a series of mf audio data from a "telephone" number passed as an ASCII string.
Each time getFrame() is called, the next audio frame of dtmf audio will be created and pulled.
ost::MFTones::MFTones | ( | const char * | digits, |
Level | level, | ||
timeout_t | duration = 20 , |
||
timeout_t | interdigit = 60 |
||
) |
Generate a mf dialer for a specified dialing string.
digits | to generate tone dialing for. |
level | for mf. |
duration | timing for generated audio. |
interdigit | timing, should be multiple of frame. |
ost::MFTones::~MFTones | ( | ) |
|
virtual |
Reimplemented from ost::AudioTone.
|
virtual |
Reimplemented from ost::AudioTone.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |