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

基于GSM A7672s模块的通话音频播放AT命令实现咨询

项目需求与AT命令问题解答

项目目标

当检测到特定事件时,通过GSM模块拨打指定号码,并在通话中播放音频提醒对方。

已尝试操作

  1. 成功传输音频文件(因无扬声器未测试播放):
AT+FSCD=C:                      // 切换到模块C存储目录
AT+CFTRANRX="c:/r1.amr",255     // 传输音频文件至r1.amr
-- r1.amr的十六进制数据 --
  1. 拨打电话并尝试播放音频:
ATD*\number\*;                  // 拨打指定号码(格式有误)
AT+CDTAM=1                     // 设置为"远程路径"模式
AT+CCMXPLAY="c:/r1.amr",1,255  // 尝试播放音频文件
ATH                            // 挂断电话

疑问

作为AT命令与GSM模块新手,需明确以下问题:

  • 是否需要使用AT+CDTAM命令?已知它和TTS相关,但用不用都没成功,且AT+CTTS=?返回ERROR,推测模块无TTS功能。
  • 播放音频时的「远程路径(remote path)」和「本地路径(local path)」分别指什么?
  • 原命令序列是否正确?
  • 实现目标的正确命令及流程是什么?

问题解答

1. 是否需要AT+CDTAM命令?

不需要。AT+CDTAM是用于配置TTS(文本转语音)的音频路径命令,你的模块通过AT+CTTS=?返回ERROR,说明确实不支持TTS功能,该命令对你的场景完全无效,直接跳过即可。

2. 「远程路径」与「本地路径」的区别

  • 本地路径:音频输出到模块的本地音频接口(如外接扬声器、耳机),仅本地能听到。
  • 远程路径:音频通过GSM通话链路发送给通话对端,即被拨打的号码能听到音频,这正是你需要的模式。

3. 原命令序列的问题

原流程存在3个关键错误:

  • 拨号命令格式错误:正确的语音拨号命令是ATD<目标号码>;(末尾必须加分号,明确指定为语音通话),原命令格式不符合GSM规范。
  • 缺少通话接通等待:拨号后必须等待模块返回CONNECT(表示通话已成功接通),才能执行播放音频的命令,不能拨号后立刻执行播放。
  • 错误使用AT+CDTAM:如前所述,模块不支持TTS,该命令无效。

4. 正确的命令序列(基于A76XX系列模块)

步骤1:提前上传音频文件(仅需执行一次)

AT+FSCD=C:                  // 切换到模块C存储目录
AT+CFTRANRX="c:/r1.amr",255 // 传输AMR格式音频文件到模块,255为文件传输完成标志
// 在此处发送r1.amr的十六进制数据

注:确保音频为模块支持的格式(A76XX优先支持AMR,占用空间小)。

步骤2:触发事件时执行通话+播放流程

ATD<目标号码>;              // 拨打指定号码,末尾分号不可省略
// 等待模块返回「CONNECT」,确认通话已接通
AT+CCMXPLAY="c:/r1.amr",1,0 // 播放音频:1=远程路径(对端听),0=循环播放(仅播一次则改为1)
// 等待音频播放完成,或根据需求设置播放时长
ATH                        // 挂断电话

补充:AT+CCMXPLAY的第二个参数1直接指定音频走远程路径,无需额外配置其他命令,完全匹配你的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 13:00:08