public static Boolean Check(int frequency, int channel, byte[] bs) { try { var aac = new AAC_ADTS(bs); if (aac.Syncword != 0xfff) { return(false); } if (aac.AACDataLen != aac.AACData.Length) { return(false); } var frequencys = new int[] { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 2000, 11025 }; if (frequencys[aac.MPEG_4_Sampling_Frequency_Index] != frequency) { return(false); } if (aac.MPEG_4_Channel_Configuration != channel) { return(false); } return(true); } catch { return(false); } }
public static AAC_ADTS[] GetMultiAAC(byte[] bs) { var ms = new MemoryStream(bs); List <AAC_ADTS> aacs = new List <AAC_ADTS>(); while (ms.Position + 7 < ms.Length) { var aac = new AAC_ADTS(ms); aacs.Add(aac); } return(aacs.ToArray()); }