pcm数据不支持存储在json里面,需要先转base64

PCM 音频流数据解析及在 cJSON 中的处理方法

1. PCM 音频流数据格式

PCM(Pulse Code Modulation)是未经压缩的原始音频数据,其结构如下:

  • 采样率(Sample Rate):如 16kHz、44.1kHz 等,表示每秒采集的样本数。

  • 位深度(Bit Depth) :如 16-bit(int16_t)、32-bit(float),决定每个样本的精度。

  • 通道数(Channels):单声道(Mono)或立体声(Stereo)。

  • 数据排列方式

    • 单声道:[sample1, sample2, sample3, ...]

    • 立体声:[L1, R1, L2, R2, L3, R3, ...](左右声道交替存储)

示例(16kHz, 16-bit, 单声道,3个采样点)

plaintext

复制

下载

复制代码
原始二进制(hex):0x00FF 0x1234 0xABCD
对应数值(int16_t):255, 4660, -21555

2. 能否直接放入 cJSON?
  • PCM 原始数据不能直接放入 cJSON,需编码为 Base64 或其他文本格式。

原因:

  1. cJSON 主要处理文本型数据(字符串、数字、布尔值等),直接存储二进制会导致:

    • 数据膨胀:二进制转文本(如 Base64)会增加约 33% 体积。

    • 解析效率低:需额外编解码步骤。

  2. JSON 标准不支持二进制,需编码为文本格式(如 Base64)。

相关推荐
莫爷1 小时前
JSON vs XML vs YAML 深度对比:如何选择合适的数据格式?
xml·前端·json
ZTLJQ9 小时前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
CSharp精选营21 小时前
.NET对象转JSON,到底有几种方式?
c#·json·.net·newtonsoft·对象转换·utf8json
淼_@淼1 天前
python-json
前端·python·json
Bear on Toilet1 天前
HTTP + JSON 接口调用清单总结
网络协议·http·json
电商API&Tina2 天前
【电商API接口】开发者一站式电商API接入说明
大数据·数据库·人工智能·云计算·json
消失的旧时光-19432 天前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
ChoSeitaku2 天前
NO.4|protobuf网络版通讯录|httplib|JSON、XML、ProtoBuf对比
xml·json
青衫客362 天前
浅谈 Java 后端对象映射:从 JSON → VO → Entity 的原理与实践
java·json
qqxhb2 天前
11|结构化输出:为什么 JSON 能让系统更稳定
json·ai编程·结构化·规范模板