wav格式音频转换成aac格式音频(三)

来源:互联网 发布:好用的ss代理 知乎 编辑:程序博客网 时间:2024/05/18 03:29

根据前面两篇的分析,已经写好了所需要的相关函数,因而最后一篇就只剩下写个main.cpp函数,调用这些函数,如下:

#include"AACCodecHelper.h"

#include<stdio.h>
extern int nPCMBufferSize;
int main(int argc,char* argv[]){
    FILE* fpIn;
    FILE* fpOut;
    fpIn = fopen(argv[1], "rb");
    fpOut = fopen(argv[2], "wb");
    char wav[1000 * 1024];
    char aac[1000 * 1024];
    char* wavData = wav;
    char* aacData = aac;
    INT32 readWavByteMaxLength = 2048;
    INT32 nBytesReadTemp = 0;
    INT32 writeAACByteSum = 0;
    INT32 nReadWavBytes = 0;
    INT32 j = 0;
    INT32 k = 0;
    INT32 i = 0;
    BYTE* pbPCMBufferTemp = new BYTE[readWavByteMaxLength];
    openFaacEngine();//打开Faac引擎
    for (i = 0; 1; i++) {
        nReadWavBytes = fread(pbPCMBufferTemp, 1, nPCMBufferSize, fpIn);
        for(j=0;j<nPCMBufferSize;j++){
            *(wavData + j) = *(pbPCMBufferTemp + j);
        }
        writeAACByteSum = wavToAAC(wavData,nPCMBufferSize,aacData);//调用编码函数
        fwrite(aac, 1, writeAACByteSum, fpOut);
        fflush(fpOut);
        if (nReadWavBytes <= 0) {
            break;
        }
    }
    closeFaacEngine();//关闭Faac引擎

}

未完待续~

PS:初写文章,文笔生涩之处,各位请见谅,若有疑问或者交流的,可加本人YY号:301558660

转载请注明出处:山水间博客,http://blog.csdn.net/linyanwen99/article/details/7553355