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)。

相关推荐
陈涛5758 小时前
5个最好用的 JSON 工具推荐:让数据处理变得简单高效
json
bkspiderx1 天前
pb2json.hpp 文档:Protobuf 与 JSON 通用转换工具类
json·protobuf·protobuf与json转换
万粉变现经纪人2 天前
何解决PyCharm中pip install安装Python报错ModuleNotFoundError: No module named ‘json’问题
python·pycharm·json·beautifulsoup·scikit-learn·matplotlib·pip
晨欣2 天前
orjson 与 json:实战对比与选型指南(含示例)(GPT-5 回答)
gpt·json
Pi_Qiu_3 天前
Python初学者笔记第二十二期 -- (JSON数据解析)
笔记·python·json
mon_star°3 天前
有趣的 npm 库 · json-server
前端·npm·json
ID_180079054733 天前
淘宝拍立淘按图搜索API接口功能详细说明
大数据·python·json·图搜索算法
cypking3 天前
vue excel转json功能 xlsx
vue.js·json·excel
我又来搬代码了3 天前
【Android】【bug】Json解析错误Expected BEGIN_OBJECT but was STRING...
android·json·bug
山里幽默的程序员5 天前
如何使用Postman无障碍导入JSON文件?详细步骤&工具对照
测试工具·json·postman