首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

FAAD2 解码AAC 初始化的时候 如何设置 采样频率和声道数目

2014-01-22 
FAAD2 解码AAC 初始化的时候 怎么设置 采样频率和声道数目用faad 解码的时候初始化找不到设置声道数目的地

FAAD2 解码AAC 初始化的时候 怎么设置 采样频率和声道数目
用faad 解码的时候初始化找不到设置声道数目的地方,设置了采样频率为22050,但是解码的时候还是返回的44100,我试着把adts头传给初始化的那个函数,但是没有作用,大家知道怎么设置这些的,麻烦帮忙解答一下,谢谢
[解决办法]
找到原因了,跟踪了一下代码:
long NEAACDECAPI NeAACDecInit(NeAACDecHandle hpDecoder,
                              unsigned char *buffer,
                              unsigned long buffer_size,
                              unsigned long *samplerate,
                              unsigned char *channels)

#ifdef SBR_DEC
    /* implicit signalling */
    if (*samplerate <= 24000 && (hDecoder->config.dontUpSampleImplicitSBR == 0))
    {
        *samplerate *= 2;
        hDecoder->forceUpSampling = 1;
    } else if (*samplerate > 24000 && (hDecoder->config.dontUpSampleImplicitSBR == 0)) {
        hDecoder->downSampledSBR = 1;
    }
#endif

是这里造成的。注释掉或取消宏就可以了。

热点排行