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

📄 main.c

📁 编解码ADPCM的VC源码
💻 C
字号:
#include "stdio.h"
#include "dviadpcm.h"
#define CFG_BlkSize		1024
char bufCpr[CFG_BlkSize];
short buf[CFG_BlkSize];
int TestAdpcm(const char *pInFile, const char *pOutFile)
{
	struct adpcm_state stEnc,stDec;
	unsigned long iLen,encLen, decLen;
	FILE *fpi,*fpo, *fpCpr;
	fpi=fopen(pInFile,"rb");
	if (!fpi) return -1;
	fpo=fopen(pOutFile,"wb");
	if (!fpo) return -2;
	fpCpr=fopen("f:\\test.adpcm","wb");
	fseek(fpi,0,2);
	iLen=ftell(fpi)>>1;
	fseek(fpi,0,0);

	stEnc.index=0;
	stEnc.valprev=0;
	stDec.index=0;
	stDec.valprev=0;
	while ( iLen>=CFG_BlkSize)
	{
		fread(buf,2,CFG_BlkSize,fpi);
		encLen=adpcm_coder(buf,(unsigned char *) bufCpr,CFG_BlkSize, &stEnc);
		fwrite(bufCpr,1,encLen,fpCpr);
		decLen=adpcm_decoder((unsigned char *) bufCpr,buf,encLen, &stDec);
		fwrite(buf,2,decLen,fpo);
		iLen-=CFG_BlkSize;
	}
	fclose(fpi);
	fclose(fpCpr);
	fclose(fpo);
	return 0;
}

int main()
{
	TestAdpcm("f:\\test2.pcm","f:\\dec2.pcm");

}

⌨️ 快捷键说明

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