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

相关推荐
电商API&Tina3 小时前
1688 拍立淘接口(item_search_img)测试与接入实战心得
java·大数据·前端·物联网·oracle·json
ZC跨境爬虫8 小时前
海南大学交友平台开发实战 day11(实现性别图标渲染与后端数据关联+Debug复盘)
前端·python·sqlite·html·json
被放养的研究生9 小时前
vscode-settings.json
ide·vscode·json
SuperEugene10 小时前
Vue3 配置驱动表单:JSON配置+渲染引擎,快速搭建复杂表单|配置驱动开发实战篇
驱动开发·json
敲上瘾10 小时前
大模型接入从入门到实战:API/SDK/本地部署/Claude Code 路由全解析
人工智能·深度学习·机器学习·json·aigc·claude
见山是山-见水是水11 小时前
鸿蒙flutter第三方库适配 - JSON格式化工具应用
flutter·华为·json·harmonyos
Dontla11 小时前
JWT认证流程(JSON Web Token)
前端·数据库·json
素玥1 天前
实训7 json文件数据用python导入数据库
数据库·python·json
组合缺一1 天前
Snack JSONPath 项目架构分析
java·架构·json·jsonpath·rfc 9535
成为大佬先秃头2 天前
开放标准(RFC 7519):JSON Web Token (JWT)
spring boot·后端·json·jwt