网上关于这两个库的介绍也比较多,但在项目中调试时遇到一些问题, 经过一翻调试, 终于成功, 并且把编解码做了封装, 这里把实现过程中的一些问题记录下来:
1. FAAD 解码
(1) 打开解码器
NeAACDecOpen()
(2) 修改配置
NeAACDecConfigurationPtr cfg;
cfg = NeAACDecGetCurrentConfiguration(codec->decoder);
cfg->dontUpSampleImplicitSBR = 1;
NeAACDecSetConfiguration(codec->decoder, cfg);
注意: 这里设置cfg->dontUpSampleImplicitSBR 为1 是防止解码器修改参数, 真实的参数信息可以从 ADTS 流中获取.
(3) 解码器初始化
NeAACDecInit(codec->decoder, (unsigned char*)src, lsrc, &samplerate, &channels);