AAC 编解码封装

本文记录了在项目中使用FAAD进行AAC解码和FAAC进行编码时遇到的问题及解决方案。首先介绍FAAD解码步骤,包括打开解码器、修改配置、初始化和解码数据。接着阐述FAAC编码过程,涉及编码器的打开、配置修改、计算最大输入长度和编码操作。最后提到了将这些过程封装到`codec.h`和`codec.c`中,并提供了完整源码的下载链接。
摘要由CSDN通过智能技术生成

   网上关于这两个库的介绍也比较多,但在项目中调试时遇到一些问题, 经过一翻调试, 终于成功, 并且把编解码做了封装, 这里把实现过程中的一些问题记录下来:

  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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值