将WAVE音频数据通过AAC(faaclib库)转码的到*.aac文件速度比原快0.5倍
转码后音乐速度变快了,WAVE文件的采样率是44100Hz 采样位数16bit 声道2
AAC配置信息的采样率设置也是44100
不知道还有什么参数设置的不妥,求解。分不太多,望指点迷津
m_faacEncHandle = faacEncOpen(sWaveInfo.dwSamplesPerSec,sWaveInfo.eChannelType,&dwInput,&dwOutput);
m_dwInputSample = dwInput;
m_dwInputLength = dwInput * sWaveInfo.dwBitsPerSample / 8 * sWaveInfo.eChannelType;
m_dwMaxOutputBytes = dwOutput;
int nFacConfig = 0;
if (NULL != m_faacEncHandle)
{
_PrepareMemForCache(m_dwInputLength,dwOutput); ///< 为PCM和AAC流分配内存
///< 配置AAC编码器
m_pfaacConfig = faacEncGetCurrentConfiguration(m_faacEncHandle);
m_pfaacConfig->outputFormat = 1;
m_pfaacConfig->useLfe = FALSE;
m_pfaacConfig->useTns = TRUE;
m_pfaacConfig->bandWidth = 0;
m_pfaacConfig->bitRate = 0;
m_pfaacConfig->aacObjectType = MAIN;
m_pfaacConfig->shortctl = SHORTCTL_NORMAL;
m_pfaacConfig->mpegVersion = MPEG4;
switch (sWaveInfo.dwBitsPerSample)
{
case 16:
m_pfaacConfig->inputFormat = FAAC_INPUT_16BIT;
break;
case 24:
m_pfaacConfig->inputFormat = FAAC_INPUT_24BIT;
break;
case 32:
m_pfaacConfig->inputFormat = FAAC_INPUT_32BIT;
break;
default:
ASSERT(FALSE);
break;
}
nFacConfig = faacEncSetConfiguration(m_faacEncHandle,m_pfaacConfig);
}