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

如何在Twilio录制音频时循环播放默认提示音且无录制中断?

嘿,这个需求完全可以实现!我之前帮不少开发者搞定过类似的场景,Twilio提供了几种可靠的方式来做到每30秒插入提示音,同时保证录音全程无缝、没有片段缺失。下面是从简单到进阶的实现方案:

方案一:分段录音+自动续录(最简单易上手)

这个思路利用Twilio的<Record>动词结合action回调,实现每30秒播放提示音后自动继续录音,而且通过参数设置保证片段衔接无缺失:

  • 核心逻辑:每次启动30秒的录音,录音结束后触发回调URL,在回调里播放提示音,然后再次启动下一段30秒录音,循环直到通话结束。关键是设置trim="do-not-trim"来保留录音首尾的衔接部分,避免出现断档。
  • 初始TwiML(启动第一次录音):
    <Response>
      <!-- 先播放一次Twilio默认提示音,这里用官方的牛铃示例,你可以替换成合规的提示音 -->
      <Play>https://api.twilio.com/cowbell.mp3</Play>
      <!-- 启动30秒录音,回调到/continue-recording,不裁剪首尾 -->
      <Record action="/continue-recording" maxLength="30" trim="do-not-trim" />
    </Response>
    
  • 回调URL的响应TwiML(循环续录):
    <Response>
      <Play>https://api.twilio.com/cowbell.mp3</Play>
      <!-- 重复相同的录音设置,继续下一个30秒周期 -->
      <Record action="/continue-recording" maxLength="30" trim="do-not-trim" />
    </Response>
    
  • 收尾处理:通话结束后,你可以通过Twilio API获取所有分段的录音文件URL,用工具(比如ffmpeg)将它们拼接成完整的音频:
    ffmpeg -i "concat:recording1.mp3|recording2.mp3|recording3.mp3" -c copy full-recording.mp3
    
方案二:Media Streams实时混合(完全无缝无分段)

如果想要真正的实时无缝(不需要事后拼接片段),可以用Twilio的Media Streams功能,直接在音频流中插入提示音:

  • 核心逻辑:建立WebSocket连接接收Twilio的实时音频流,每隔30秒将提示音的音频帧(和Twilio流同格式:PCMU 8kHz单声道)混合到输出流中,同时持续录制用户音频。
  • 步骤概览:
    1. 在TwiML中启用Media Streams,指向你的WebSocket服务器:
      <Response>
        <Start>
          <Stream url="wss://your-server.com/audio-stream" />
        </Start>
        <Play>https://api.twilio.com/cowbell.mp3</Play>
        <Say>录音已启动,每30秒会播放提示音</Say>
        <Pause length="3600" /> <!-- 保持通话连接 -->
      </Response>
      
    2. 你的WebSocket服务器监听连接,接收Twilio发送的音频帧(JSON格式,包含media字段的base64编码音频数据)。
    3. 维护一个计时器,每隔30秒将提前转换好的提示音PCMU帧插入到输出流中,同时继续写入用户的音频帧。
    4. 将混合后的音频流实时保存为完整的音频文件。
关键注意事项
  • 确保提示音的音频格式和Twilio的录音格式一致(默认是PCMU 8kHz单声道),否则混合或拼接时会出现杂音或兼容性问题。
  • 用方案一的时候,记得在Twilio控制台或通过API跟踪所有录音片段,避免遗漏。
  • 测试时要重点检查两段录音的衔接处,确认没有中断或内容缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:16:59