刚开始接触音视频方面开发,碰到小问题也能卡很久,记录一下。
AAC的裸流无法直接播放,需要给每一个音频流添加一个ADTS头。关于ADTS头结构网上有很多资料我就不重复了。直接上代码
void addADTStoPacket(unsigned char* packet,int len)
{
int profile = 2; // AAC LC
int freqIdx = 4; // 44.1KHz
int chanCfg = 2; // CPE
unsigned char adtsHeader[7]={
0};//用于存放adts头内容
int packetLen=len+7;//ADTS头加AAC数据总长度
packet[0