javacv实战专栏目录:
JavaCV实战专栏文章目录(JavaCV速查手册)
前言
Java默认采用大端序存储方式,实际编码的音频数据是小端序,如果处理单8bit的音频当然不需要做转换,但是如果是16bit或者以上的就需要处理成小端序字节顺序。
注:大、小端序指的是字节的存储顺序是按从高到低还是从低到高的顺序存储,与处理器架构有关,Intel的x86平台是典型的小端序存储方式
1、Java中使用ByteOrder.LITTLE_ENDIAN表示小端序,ByteOrder.BIG_ENDIAN表示大端序
小端序:数据的高位字节存放在地址的低端 低位字节存放在地址高端
大端序:数据的高位字节存放在地址的高端 低位字节存放在地址低端
大端序是按照数字的书写顺序进行存储的,而小端序则是反顺序进行存储的。
Big-endian 存放顺序(顺序存储)
0x00000001 -- 12
0x00000002 -- 34
0x00000003 &

本文介绍了Java中处理音频数据时的大小端序问题,特别是如何将16位或更高位的音频数据由字节数组转换为小端序的short或int数组。通过使用`ByteBuffer`和`ByteOrder.LITTLE_ENDIAN`进行转换,详细步骤包括创建`ByteBuffer`,设置小端序,然后获取`ShortBuffer`并提取short数组。
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



