Android使用FAAC进行AAC编码详解必看以及注意事项

使用FAAC转换PCM为AAC


注意事项、1 、输出格式中  0  = Raw ; 1= ADTS ,用户应根据自己需求来确定参数

                               2、每次给到Faac进行编码的数据 必须根据通道数、分辨率等算出来,可不是想给多少就给多少?同样上层的APP产生的数据也应该是这个值、Android中测试若不是规定值编解码有问题。

关于FAAC

FAAC是一个MPEG-4和MPEG-2的AAC编码器,其特性是:可移植性好,快速,支持LC/Main/LTP,通过Dream支持DRM,代码小相对于FFMPEG的AAC转码,FAAC实在是微乎其微,而且可以直接把代码加到工程里面编译,也可使用静态库,而没有巨大的动态库的烦恼。


下载安装

  • 直接按照官方文档所示,编译静态库以供我们程序使用。(我没这么做,个中曲折错误不细数)
  • 把FAAC的代码抠出来,直接加到我们的工程中去,或者抠出来编译一个静态库,简单暴力有效,需要的代码是libfaac和include两个目录下的所有文件(不包括子目录文件)。 目录文件列表如下所示:
    aacquant.c
    aacquant.h
    backpred.c
    backpred.h
    bitstream.c
    bitstream.h
    channels.c
    channels.h
    coder.h
    faac.h
    faaccfg.h
    fft.c
    fft.h
    filtbank.c
    filtbank.h
    frame.c
    frame.h
    huffman.c
    huffman.h
    hufftab.h
    ltp.c
    ltp.h
    midside.c
    midside.h
    psych.h
    psychkni.c
    tns.c
    tns.h
    util.c
    util.h
    version.h
    强烈推荐使用第二种方法

主要的函数介绍

faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate,
	unsigned int numChannels,
	unsigned long *inputSamples,
	unsigned long *maxOutputBytes);
//	描述 : 打开并初始化编码器
//	sampleRate : 编码输入信息的采样率
//	numChannels : 编码输入信息的通道数量,1-单声道 2-立体声
//	inputSamples : 编码后的数据长度
//	maxOutputBytes : 编码后的信息最大长度
int FAACAPI faacEncClose(faacEncHandle hEncoder);
//	描述:关闭编码器
//	hEncoder : faacEncOpen返回的编码器句柄
faacEncConfigurationPtr FAACAPI faacEncGetCurrentConfiguration(faacEncHandle hEncoder);
//	描述 :获取当前编码器的配置信息
//	hEncoder : faacEncOpen返回的编码器句柄
int FAACAPI faacEncSetConfiguration(faacEncHandle hEncoder, faacEncConfigurationPtr config);
//	描述 : 配置解码器的参数
//	hEncoder : faacEncOpen返回的编码器句柄
//	config : 编码器的配置信息
int FAACAPI faacEncEncode(faacEncHandle hEncoder, 
	int32_t * inputBuff
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值