多语言展示
当前在线:1534今日阅读:19今日分享:20

fdk-aac怎么使用

下面就是小编带给大家的fdk-aac怎么使用方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看。
方法/步骤
2

decoder decoder主要有两种模式, RAW和ADTS RAW模式: 需要在初始化decoder的时候传入AudioSpecInfo,表明即将送入的rawdata的samplerate, channel等; 送数据的时候把ADTS头去掉 m_hAacDecoder=aacDecoder_Open(TT_MP4_RAW,1);

3

aacDecoder_ConfigRaw(m_hAacDecoder,&m_SpecInfo,&m_SpecInfoSize) ADTS模式: 初始化时不需要传入AudioSpecInfo;送数据时要加上ADTS头 aacDecoder_Open(TT_MP4_ADTS,1);

4

送数据时常用如下形式: UINT bytesValid = lInSize;while(bytesValid>0 && decoderErr==AAC_DEC_NOT_ENOUGH_BITS){aacDecoder_Fill( m_hAacDecoder,&pIn,(UINT*)&lInSize,&bytesValid); decoderErr = aacDecoder_DecodeFrame(m_hAacDecoder,(INT_PCM*)m_decodeBuffer,m_decodeBufSize,0);}

5

解码库会分配一个过渡性的decoder-internal input buffer,这个buffer大小又RANSPORTDEC_INBUF_SIZE规定,可以任意设定但必须满足两个条件:1:each input channel requires 768 bytes2:the whole buffer must be of size 2^nSo for example a stereo decoder: TRANSPORTDEC_INBUF_SIZE = 2 768 = 1536 => 2048(选择2048bytes)。

6

aacDecoder_Fill就是从input buffer往ecoder-internalinput buffer里面拷贝数据,返回的是input buffer中还剩下多少没有被拷贝的数据(bytesValid)aacDecoder_DecodeFrame用来解码internal buffer中的数据,如果数据不足以解码。

注意事项
1

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。

2

个人意见,仅供参考。

推荐信息