⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g726pcmtrans.txt

📁 非常好用的pcm格式语音文件转换成wav格式
💻 TXT
字号:

/*****************************************************************************

	FILE ........... PCMTRANS.H
	FUNCTION ....... Header file for Telewind - PCMTRANS API
	VERSION ........ 1.20

*****************************************************************************/
		函数说明
错误返回
#define E_OPENFILE      -1      文件打不开
#define E_CHANNEL       -2      错误的通道号
#define E_FILEPOS       -3      文件指针错
#define E_PCMRATE       -4      压缩率错误
#define E_READ          -5      读文件错
#define E_WRITE         -6      写文件错
#define E_ALLOCMEM      -7      内存分配错误
#define E_256BYTE       -8      缓冲区长度有误不是256的整数倍

int WINAPI Pcm2Adpcm(char *pcm,char *adpcm,int pcmrate);
----------------------------------------------------------
功能:将PCM格式文件转换为ADPCM格式文件
参数:1 PCM格式文件名称
      2 ADPCM格式文件名称
      3 压缩率    0  8K/S
                  1  4K/S
                  2  2K/S
返回:>0 成功  
      <0 参看失败原因
说明:可以将不压缩的A率PCM格式,即将8K/S的语音转换为 4K/S或2K/S的ADPCM格式文件
     

int WINAPI Adpcm2Pcm(char *adpcm, char *pcm,int pcmrate);
----------------------------------------------------------
功能:将ADPCM格式文件转换为PCM格式文件
参数:1 ADPCM格式文件名称
      2 PCM格式文件名称
      3 压缩率    0  8K/S
                  1  4K/S
                  2  2K/S
返回:>0 成功  
      <0 参看失败原因

说明:可以将压缩的A率PCM格式,即将4K/S或2K/S的ADPCM格式文件转换成8K/S的语音文件

long WINAPI StartPcm2Adpcm(int cno, char *pcm,char *adpcm,int pcmrate);
------------------------------------------------------------------------
功能:将PCM格式文件转换为ADPCM格式文件,
参数:1 PCM格式文件名称
      2 ADPCM格式文件名称
      3 压缩率    0  8K/S
                  1  4K/S
                  2  2K/S
返回:>0 成功  
      <0 参看失败原因
说明:可以将不压缩的A率PCM格式,即将8K/S的语音转换为 4K/S或2K/S的ADPCM格式文件
      该函数是开始转换,以后还需调用继续转换函数Pcm2AdpcmRest。分通道可以多路
      同时转换

long WINAPI Pcm2AdpcmRest(int cno);
--------------------------------------
功能:PCM格式文件转换为ADPCM格式文件,查询和继续还有多少字节没有转换完
参数:1 通道号
返回:>=0 成功  未转换完的字节数
      <0 参看失败原因
说明:可以将不压缩的A率PCM格式,即将8K/S的语音转换为 4K/S或2K/S的ADPCM格式文件
      

long WINAPI StopPcm2Adpcm(int cno);
--------------------------------------
功能:停止转换
参数:1 通道号
返回:>0 成功  未转换完的字节数
      <0 参看失败原因
说明:

long WINAPI StartAdpcm2Pcm(int cno,char *adpcm, char *pcm,int pcmrate);
----------------------------------------------------------
功能:将ADPCM格式文件转换为PCM格式文件
参数:1 ADPCM格式文件名称
      2 PCM格式文件名称
      3 压缩率    0  8K/S
                  1  4K/S
                  2  2K/S
返回:>0 成功  
      <0 参看失败原因
说明:可以将压缩的A率PCM格式,即将4K/S或2K/S的ADPCM格式文件转换成8K/S的语音文件
      该函数是开始转换,以后还需调用继续转换函数Adpcm2PcmRest。分通道可以多路
      同时转换

long WINAPI Adpcm2PcmRest(int cno);
--------------------------------------
功能:AdPCM格式文件转换为PCM格式文件,查询和继续还有多少字节没有转换完
参数:1 通道号
返回:>=0 成功  未转换完的字节数
      <0 参看失败原因

long WINAPI StopAdpcm2Pcm(int cno);
--------------------------------------
功能:停止转换
参数:1 通道号
返回:>0 成功  未转换完的字节数
      <0 参看失败原因
说明:

int WINAPI Pcm2Wav(char *pcmfile,char *wavfile,int pcmrate);
--------------------------------------
功能: 根据压缩率, 将PCM和ADPCM格式的文件转换为WAV格式
参数:1 PCM或ADPCM格式的语音文件名
      2 WAV格式文件名
      3 PCM或ADPCM文件对应的压缩率
返回:>0 成功  
      <0 参看失败原因
说明:

int 	WINAPI Tw2Wav(int,char *,char *); //tw2wav(WF_ALAW,TWFile.tw,Wave.wav)
-------------------------------------------------------------------------
功能: 将PCM和ADPCM格式的文件转换为WAV格式
参数:1 WF_ALAW=0,	//8-bit A-Law Encoded Waveform: 8000Hz,16-bit,Mono
	WF_PCM=5	//Windows PCM:8000Hz,16-bit,Mono
      2 PCM格式文件名(只能是8K/S的语音)
      3 WAV文件名,具体格式根据第一个参数决定
返回:1 成功  
      0 失败
说明:该函数和Pcm2Wav类似,但不能转换压缩的文件

int 	WINAPI Wav2Tw(char *,char *);     //wav2tw(Wave.wav,TWFile.tw)
--------------------------------------
功能:  将WAV格式的文件转换为PCM格式
参数:1 WAV格式文件名
      2 PCM格式文件名
返回:1 成功  
      0 失败
说明:

int WINAPI Adpcm2PcmBuf(int cno,unsigned char *adpcmbuf,unsigned char *pcmbuf,int len,int pcmrate);
-----------------------------------------------------------------------------------------
功能:  将ADPCM格式转换为PCM格式的缓冲区操作函数
参数:1 通道号
      2 ADPCM格式的缓冲区,必须是256字节的整数倍
      3 存放PCM格式的缓冲区,必须是256字节的整数倍,注意该缓冲区应该大于adpcmbuf
        如: adpcmbuf是 1024*30 K,如果压缩比为1,那么pcmbuf为 1024*30*2
                                  如果压缩比为2,那么pcmbuf为 1024*30*4
            
      4 输入ADPCM格式的缓冲区的长度,必须是256字节的整数倍
      5 ADPCM格式的压缩比 如:1(8k/s),2(4k/s)
返回:1 成功  
      <0 失败
说明:

int WINAPI Pcm2AdpcmBuf(int cno,unsigned char *pcmbuf,unsigned char *adpcmbuf,int len,int pcmrate);
--------------------------------------------------------------------------------------------
功能:  将PCM格式转换为ADPCM格式的缓冲区操作函数
参数:1 通道号
      2 PCM格式的缓冲区,必须是256字节的整数倍
      3 存放ADPCM格式的缓冲区,必须是256字节的整数倍,注意该缓冲区可以小于adpcmbuf
        如: pcmbuf是 1024*30 K,如果压缩比为1,那么pcmbuf为 1024*30/2
                                如果压缩比为2,那么pcmbuf为 1024*30/4
            
      4 输入PCM格式的缓冲区的长度,必须是256字节的整数倍
      5 ADPCM格式的压缩比 如: 1 (8k/s), 2 (4k/s)
返回:1 成功  
      <0 失败
说明:


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -