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 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
一颗小行星-1 天前
为什么有的JSON可以带注释?
json
砚凝霜1 天前
软考网络工程师|第 2 章 信道延迟、传输介质、数据编码、数字调制、PCM 完整备考笔记
网络·笔记·pcm
CedarQR2 天前
万字长文:从零在 RK3588 上部署 PaddleSpeech 中文 TTS 全流程(FastSpeech2 + HiFiGAN)
开发语言·c++·嵌入式硬件·ubuntu·json
Geoking.3 天前
JSON vs JSONL:从数据格式到 AI Agent 的工程实践
人工智能·深度学习·json
ID_180079054733 天前
京东商品详情API能力解析与标准化应用方案(含JSON返回示例)
json
灯澜忆梦4 天前
Go 语言 _JSON---序列化与反序列化
开发语言·golang·json
梦幻通灵5 天前
Notepad++格式化Json两种方案【持续更新】
android·json·notepad++
解局易否结局5 天前
鸿蒙原生开发实战|Native JSON 编解码与高性能数据序列化
华为·json·harmonyos
代码的小搬运工6 天前
网络请求(NSURL、NSURLRequest、NSURLSessionDataTask、协议回调与 JSON 数据的基本流向)
网络·数据库·json