You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:SIM808录制AMR音频文件的下载及跨设备上传方案

解决方案:SIM808录制音频的下载与跨模块上传

一、先确认核心前提:SIM808文件系统指令的正确用法

你之前测试的AT+FSCREATE/AT+FSREAD无效,大概率是参数或初始化步骤不对,按以下流程排查:

  1. 初始化文件系统
    先执行AT+FSINIT=1(参数1代表模块内部Flash,0是SIM卡,AT+CREC默认录制到内部Flash),返回OK后再操作文件。
  2. 查找录制的AMR文件
    用AT+FSLS列出根目录文件,会看到类似REC001.AMR的录制文件(命名规则为REC+三位数字.AMR,按录制顺序递增)。
  3. 读取文件到ESP32
    • 获取文件大小:AT+FSINFO="REC001.AMR",返回+FSINFO: <文件大小>,<剩余空间>
    • 读取文件内容:AT+FSREAD="REC001.AMR",0,<文件大小>,模块会返回+FSREAD: <文件大小>,随后输出二进制AMR数据,最后返回OK。ESP32接收这段二进制数据后,可通过WiFi/蓝牙转发到PC,或保存到本地SD卡后再导出。

如果以上指令仍无效,说明你的SIM808固件版本不支持FS指令,用AT+GMR查询固件,升级到支持文件系统的版本即可。

二、替代方案:录制时实时转发音频到ESP32

如果FS指令确实无法使用,跳过模块内部存储,直接在录制阶段把音频数据实时传到ESP32:

  • 通话接通后,先执行AT+CREC=1开始录制,同时开启音频透传:AT+CMIC=2,0(参数2代表UART透传麦克风音频,0为默认增益)。
  • 此时SIM808会将实时录制的AMR音频数据通过UART发送到ESP32,ESP32直接保存为AMR文件,后续直接导出到PC即可。

三、上传AMR文件到另一台SIM808

方法1:用FS指令写入文件

  1. 在目标SIM808上执行AT+FSINIT=1初始化文件系统
  2. 创建空文件:AT+FSCREATE="REC001.AMR",<文件大小>(<文件大小>为PC上AMR文件的字节数)
  3. 写入文件:AT+FSWRITE="REC001.AMR",0,<文件大小>,模块返回>后,发送AMR文件的二进制数据,发送完成后等待OK即可。

方法2:实时播放透传

如果不需要存储到目标模块,直接播放:

  • ESP32读取PC上的AMR文件,通过UART以数据流形式发送到目标SIM808,同时执行AT+CLVL=10设置音量(范围0-10),再执行AT+PLAY=1开启音频播放透传,模块会实时播放收到的音频数据。

注意事项

  • 串口通信时务必使用稳定的波特率(建议115200或更高),避免二进制数据丢包。
  • AT+CREC录制的AMR文件为窄带格式(8kHz采样),上传时需确保文件格式一致,否则播放会异常。

内容的提问来源于stack exchange,提问作者Jakob_btrx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:41:06