如何获得HE-AAC音频类型?

时间:2016-10-10 12:49:28

标签: c++ audio audio-streaming mediacodec

我试图用C / C ++编写简单的音频流/媒体播放器。问题是我必须玩的一些流是HE-AAC。这是我从原始数据中检测音频类型的代码:

int Audio_GetType(const uint8_t *pData)
{
    if ((pData[0] == 0xFF) && ((pData[1] & 0xE0) == 0xE0))
    {
        if ((((pData[1] & 0x06) >> 1) != 0x00) &&
            (((pData[2] & 0xF0) >> 4) != 0x0F) &&
            (((pData[2] & 0x0C) >> 2) != 0x03))
        {
            return TYPE_MP3;
        }
    }

    if ((pData[0] == 0xFF) && ((pData[1] & 0xF0) == 0xF0))
    {
        return TYPE_AAC;
    }

    if ((pData[0] == 0x0B) && (pData[1] == 0x77))
    {
        return TYPE_AC3;
    }

    return TYPE_INVALID;
}

如果流是HE-AAC,有谁可以告诉我如何获得?例如,我可以找到与0xFF同步的(pData[0] == 0xFF) && ((pData[1] & 0xF0) == 0xF0)同步的ADTS AAC。

我怎么知道该流是HE-AAC?

0 个答案:

没有答案