diff options
Diffstat (limited to 'orkbasecxx')
-rw-r--r-- | orkbasecxx/AudioCapture.cpp | 75 | ||||
-rw-r--r-- | orkbasecxx/AudioCapture.h | 29 |
2 files changed, 104 insertions, 0 deletions
diff --git a/orkbasecxx/AudioCapture.cpp b/orkbasecxx/AudioCapture.cpp index 5523757..7788fe8 100644 --- a/orkbasecxx/AudioCapture.cpp +++ b/orkbasecxx/AudioCapture.cpp @@ -287,3 +287,78 @@ int CaptureEvent::EventTypeToEnum(CStdString& eventTypeString) return eventTypeEnum; } +//======================================== +// File format related methods + +int FileFormatToEnum(CStdString& format) +{ + int formatEnum = FfUnknown; + if(format.CompareNoCase(FF_NATIVE) == 0) + { + formatEnum = FfNative; + } + else if (format.CompareNoCase(FF_GSM) == 0) + { + formatEnum = FfGsm; + } + else if (format.CompareNoCase(FF_ULAW) == 0) + { + formatEnum = FfUlaw; + } + else if (format.CompareNoCase(FF_ALAW) == 0) + { + formatEnum = FfAlaw; + } + else if (format.CompareNoCase(FF_PCMWAV) == 0) + { + formatEnum = FfPcmWav; + } + return formatEnum; +} + +CStdString FileFormatToString(int formatEnum) +{ + CStdString formatString; + switch (formatEnum) + { + case FfNative: + formatString = FF_NATIVE; + break; + case FfGsm: + formatString = FF_GSM; + break; + case FfUlaw: + formatString = FF_ULAW; + break; + case FfAlaw: + formatString = FF_ALAW; + break; + case FfPcmWav: + formatString = FF_PCMWAV; + break; + default: + formatString = FF_UNKNOWN; + } + return formatString; +} + +CStdString FileFormatGetExtension(FileFormatEnum formatEnum) +{ + CStdString extension; + switch (formatEnum) + { + case FfGsm: + case FfUlaw: + case FfAlaw: + case FfPcmWav: + extension = ".wav"; + break; + default: + CStdString formatEnumString = IntToString(formatEnum); + throw (CStdString("AudioTape::GetFileFormatExtension: unknown file format:") + formatEnumString); + } + return extension; +} + + + diff --git a/orkbasecxx/AudioCapture.h b/orkbasecxx/AudioCapture.h index 9a9c6b4..d671145 100644 --- a/orkbasecxx/AudioCapture.h +++ b/orkbasecxx/AudioCapture.h @@ -88,6 +88,9 @@ private: typedef boost::shared_ptr<AudioChunk> AudioChunkRef; + +//========================================================== + class DLL_IMPORT_EXPORT CaptureEvent { public: @@ -143,5 +146,31 @@ public: }; typedef boost::shared_ptr<CaptureEvent> CaptureEventRef; + + +//========================================================= +#define FF_NATIVE "native" +#define FF_GSM "GSM" +#define FF_ULAW "ulaw" +#define FF_ALAW "alaw" +#define FF_PCMWAV "pcmwav" +#define FF_UNKNOWN "unknown" + typedef enum + { + FfUnknown = 0, + FfNative = 1, + FfGsm = 2, + FfUlaw = 3, + FfAlaw = 4, + FfPcmWav = 5, + FfInvalid = 6 + } FileFormatEnum; + +int DLL_IMPORT_EXPORT FileFormatToEnum(CStdString& format); +CStdString DLL_IMPORT_EXPORT FileFormatToString(int formatEnum); +CStdString DLL_IMPORT_EXPORT FileFormatGetExtension(FileFormatEnum); + #endif + + |