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

如何在Alexa技能中录制用户语音并导出为MP3/WAV格式?

在Alexa技能中实现语音录制并转换格式的方法

1. 配置技能权限

首先在Alexa开发者控制台的技能设置里,找到「Permissions」板块,添加「Record Audio」权限。同时在交互模型中创建触发录音的自定义意图(比如RecordVoiceIntent),让用户可以通过语音指令启动录音。

2. 在技能代码中触发录音

当用户触发录音意图时,通过Alexa Skills Kit(ASK)发送录音指令。以Node.js SDK为例,代码示例如下:

const Alexa = require('ask-sdk-core');

const RecordVoiceIntentHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
            && Alexa.getIntentName(handlerInput.requestEnvelope) === 'RecordVoiceIntent';
    },
    handle(handlerInput) {
        return handlerInput.responseBuilder
            .addDirective({
                type: 'Alexa.StartRecording',
                durationInMilliseconds: 10000, // 最长支持60000毫秒(60秒)
                intent: {
                    name: 'RecordCompleteIntent', // 录音完成后触发的意图
                    confirmationRequired: false
                }
            })
            .speak('请开始录音,我会录10秒')
            .getResponse();
    }
};

录音完成后,Alexa会将临时音频文件的URL发送到你的技能后端,通过RecordCompleteIntent的请求参数获取。

3. 下载并转换音频格式

拿到音频URL后,立即下载文件(URL有效期仅几分钟),然后用ffmpeg工具将默认的OPUS格式转换为MP3或WAV:

  • 转换为MP3:ffmpeg -i recorded_audio.opus output.mp3
  • 转换为WAV:ffmpeg -i recorded_audio.opus output.wav
    转换逻辑需要部署在你的后端服务器上,完成后即可对转换后的文件进行后续操作。

注意事项

  • 录音必须由用户主动触发,禁止后台录制,严格遵循隐私规范。
  • 临时音频URL有效期短,需及时处理。
  • 部分地区可能有额外的隐私合规要求,需确保技能符合当地法规。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:15:30