音频AAC csd_0 数据详解

https://blog.csdn.net/lavender1626/article/details/80431902

byte[] data = new byte[]{(byte) 0x14, (byte) 0x08};
ByteBuffer csd_0 = ByteBuffer.wrap(data);
//ADT头的解码信息
mediaFormat.setByteBuffer("csd-0", csd_0);
 

其中的data就是解码AAC的关键信息,该信息的格式:

AAC Profile 5bits | 采样率 4bits | 声道数 4bits | 其他 3bits |

  • AAC Main 0x01

  • AAC LC 0x02

  • AAC SSR 0x03  

采样率的参数为:

    0x00   96000
    0x01   88200
    0x02   64000
    0x03   48000
    0x04   44100
    0x05   32000
    0x06   24000
    0x07   22050
    0x08   16000
    0x09   12000
    0x0A   11025
    0x0B    8000
    0x0C   reserved
    0x0D   reserved
    0x0E   reserved
    0x0F   escape value

声道数:

    0x00 - defined in audioDecderSpecificConfig
    0x01 单声道(center front speaker)
    0x02 双声道(left, right front speakers)
    0x03 三声道(center, left, right front speakers)
    0x04 四声道(center, left, right front speakers, rear surround speakers)
    0x05 五声道(center, left, right front speakers, left surround, right surround rear speakers)
    0x06 5.1声道(center, left, right front speakers, left surround, right surround rear speakers, front low frequency effects speaker)
    0x07 7.1声道(center, left, right center front speakers, left, right outside front speakers, left surround, right surround rear speakers, front low frequency effects speaker)
    0x08-0x0F - reserved

我的音频数据是  AAC-LC ,16000,单声道  ,参数分别是:0X02 0X08 0X01 0X00  取参数的后面两位,根据信息格式所占bit,换成二进制为:00010 1000 0001 000

将数字输入之后得到1408这个参数,再用两个byte来存放所以是0x14,0x08.

同理,如果是8K的采样率则换成:data = new byte[]{(byte) 0x15, (byte) 0x88};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值