- 博客(0)
- 资源 (2)
- 收藏
- 关注
录音盒开发包,本驱动适用的硬件:PCI3100,PCI3600
new function in dll(but not in the .h file):
/*----------------------------------------------------------------------*/
//将34字节的录音文件转换为16bit的线性PCM WAV文件,可以压缩为MP3文件
//convert the recorder file to 16bit PCM wav file
BOOL WINAPI RecordFileToPcmWaveFile(LPCSTR lpRecordFileName,LPCSTR lpWaveFileName); //16bit WAV
//1,录音:产生Wave文件,文件的类型由CARD_CFG.txt中的RECORD_FILE_FORMAT决定。放音是通过文件本身的文件头识别的。没有文件头,就是原来的DAT文件
// 必须在重新命名文件之后再调用这一条。lpWaveFileName文件名以.WAV结尾。
// genereat a GSM wave file: if the RECORD_FILE_FORMAT=1 int the CARD_CFG.txt,after close recorder file, the call the function,can convert the gsm file to gsm wave file:
BOOL WINAPI ConvertRecordFileToWaveFile(LPCSTR lpRecordFileName,LPCSTR lpWaveFileName);
//step 2 to 6 is for remote play a gsm.wav file
//2,放音,打开一个WAVE文件,解析wave文件的参数,写到lpWaveFilePara中。
//open a gsm.wav file created in step 2
BOOL WINAPI OpenWaveFile(LPCSTR lpWaveFileName,LPWAVEFILEPARA lpWaveFilePara);
//3,放音,设置文件指针,自动处理帧对齐。
//set gsm.wav file point
BOOL WINAPI SetWaveFilePosition(LPWAVEFILEPARA lpWaveFilePara,DWORD Position);
//4,放音,读取wave数据,以40mS的数据量为单位,SizeOfDataIn40mS=1,表示读取40mS的数据,=2代表读取80mS的数据。具体的数据和压缩方式有关,
//这样做,无论是否压缩,解压后的数据大小都一样。
//返回FALSE表示文件读完了,但是读到数据部分仍然有效。读到的数据中已经加入了WAVE文件的有关参数,可以直接送给(传输给Client端)DecodeWaveFileData()解码。
//lpWaveData中隐含了文件的大小,数据的格式,lpWaveData比实际使用的空间要大8个BYTE。
// read data from gsm.wav
BOOL WINAPI ReadWaveFileData(LPWAVEFILEPARA lpWaveFilePara, BYTE *lpWaveData, DWORD *pdwReadLength, DWORD SizeOfDataIn40mS);
//5,放音,GSMTOOLS中增加的函数,lpWaveData是从ReadWaveFileData传递过来的数据,其中隐含了文件的大小,数据的格式,返回的是解码后的PCM数据的大小,以short为单位
// decode data
DWORD WINAPI DecodeWaveFileData(char *lpWaveData, short *spPcmData);
//6,为了将录音压缩文件转换MP3文件,必须现将其转为不压缩的PCM Wav文件,然后才能将lpPcmWaveFileName转为mp3文件。因为MP3工具只能识别不压缩的Wav文件。
//like RecordFileToPcmWaveFile()
BOOL WINAPI ConvertRecordFileToPcmWaveFile(LPCSTR lpGsmWaveFileName,LPCSTR lpPcmWaveFileName,DWORD AgcPara);
//7, 对录音文件(不管压缩不压缩,是否Wav)进行Agc处理
//to agc a gsm.wav file
BOOL WINAPI AgcRecordFile(LPCSTR lpRecordFileName,DWORD AgcPara); //支持文件类型Wav和Dat录音文件,AgcPara=0-7: 0=no Agc proccess, 7=MAX Agc process
2011-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人