文章目录
- 生成 PCM 数据
- 16bit
- 16bit mono
- 16bit stereo
- 16bit 4 channel
- 16bit 8 channel
- 24bit
- 解析 PCM 数据
- 多通道相同频率解析
- 多通道不同频率解析
- 程序源码
- 生成 PCM 源码
- 解析 PCM 源码
生成 PCM 数据
对于多通道的 PCM 数据,其数据格式如下
ch0_data0 ch1_data0 ch2_data0 ch3_data0
ch0_data1 ch1_data1 ch2_data1 ch3_data1
16bit
16bit mono
int 48k_16bit_modo[] = {0, 4276, 8480, 12539, 16383, 19947, 23169, 25995, 28377, 30272, 31650, 32486, 32767, 32486, 31650, 30272, 28377, 25995, 23169, 19947, 16383, 12539, 8480, 4276, 0, -4276, -8480, -12539, -16383, -19947, -23169, -25995, -28377, -30272, -31650, -32486, -32767, -32486, -31650, -30272, -28377, -25995, -23169, -19947, -16383, -12539, -8480, -4276};
16bit stereo
int 48k_16bit_stereo[] = {0, 0, 4276, 4276, 8480, 8480, 12539, 12539, 16383, 16383, 19947, 19947, 23169, 23169, 25995, 25995, 28377, 28377, 30272, 30272, 31650, 31650, 32486, 32486, 32767, 32767, 32486, 32486, 31650, 31650, 30272, 30272, 28377, 28377, 25995, 25995, 23169, 23169, 19947, 19947, 16383, 16383, 12539, 12539, 8480, 8480, 4276, 4276, 0, 0, -4276, -4276, -8480, -8480, -12539, -12539, -16383, -16383, -19947, -19947, -23169, -23169, -25995, -25995, -28377, -28377, -30272, -30272, -31650, -31650, -32486, -32486, -32767, -32767, -32486, -32486, -31650, -31650, -30272, -30272, -28377, -28377, -25995, -25995, -23169, -23169, -19947, -19947, -16383, -16383, -12539, -12539, -8480, -8480, -4276, -4276, };
16bit 4 channel
int 48k_16bit_4_chnl[] = {0, 0, 0, 0, 4276, 4276, 4276, 4276, 8480, 8480, 8480, 8480, 12539, 12539, 12539, 12539, 16383, 16383, 16383, 16383, 19947, 19947, 19947, 19947, 23169, 23169, 23169, 23169, 25995, 25995, 25995, 25995, 28377, 28377, 28377, 28377, 30272, 30272, 30272, 30272, 31650, 31650, 31650, 31650, 32486, 32486, 32486, 32486, 32767, 32767, 32767, 32767, 32486, 32486, 32486, 32486, 31650, 31650, 31650, 31650, 30272, 30272, 30272, 30272, 28377, 28377, 28377, 28377, 25995, 25995, 25995, 25995, 23169, 23169, 23169, 23169, 19947, 19947, 19947, 19947, 16383, 16383, 16383, 16383, 12539, 12539, 12539, 12539, 8480, 8480, 8480, 8480, 4276, 4276, 4276, 4276, 0, 0, 0, 0, -4276, -4276, -4276, -4276, -8480, -8480, -8480, -8480, -12539, -12539, -12539, -12539, -16383, -16383, -16383, -16383, -19947, -19947, -19947, -19947, -23169, -23169, -23169, -23169, -25995, -25995, -25995, -25995, -28377, -28377, -28377, -28377, -30272, -30272, -30272, -30272, -31650, -31650, -31650, -31650, -32486, -32486, -32486, -32486, -32767, -32767, -32767, -32767, -32486, -32486, -32486, -32486, -31650, -31650, -31650, -31650, -30272, -30272, -30272, -30272, -28377, -28377, -28377, -28377, -25995, -25995, -25995, -25995, -23169, -23169, -23169, -23169, -19947, -19947, -19947, -19947, -16383, -16383, -16383, -16383, -12539, -12539, -12539, -12539, -8480, -8480, -8480, -8480, -4276, -4276, -4276, -4276, };
16bit 8 channel
int 48k_16bit_8_chnl[] = {0, 0, 0, 0, 0, 0, 0, 0, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 4276, 8480, 8480, 8480, 8480, 8480, 8480