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

相关推荐
zhougl99618 小时前
cookie、session、token、JWT(JSON Web Token)
前端·json
人工智能的苟富贵1 天前
用 Rust 写一个前端项目辅助工具:JSON 格式化器
前端·rust·json
CsharpDev-奶豆哥2 天前
微信小程序通过主键ID修改json数据的技术分享
微信小程序·小程序·json
爱喝水的小周3 天前
《UniApp 页面配置文件pages.json》
前端·uni-app·json
三天不学习3 天前
APIJSON:用JSON自动生成API,告别手写CRUD!【.NET 8 集成案例,也支持JAVA】
json·.net·apijson
StarRocks_labs4 天前
StarRocks 4.0:Real-Time Intelligence on Lakehouse
starrocks·人工智能·json·数据湖·存算分离
敲上瘾4 天前
Linux系统C++开发工具(四)—— jsoncpp 使用指南
linux·服务器·网络·c++·json
Dolphin_Home5 天前
轻量实用的 XML 与 JSON / 对象互转工具类(Jackson 实现)
xml·java·json
llxxyy卢5 天前
json的注入
json
柑橘乌云_5 天前
学习记录-package.json的scripts添加参数的方式有那些
前端·学习·node.js·json