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

如何在Android Studio中使用Java向Amazon Lex发送语音指令

Amazon Lex Android 端语音发送实现方案

你现有文本请求的凭证、客户端初始化逻辑可以直接复用,只需要将PostTextRequest替换为语音场景专用的PostContentRequest即可,具体实现步骤如下:

1. 提前配置权限

在AndroidManifest.xml中添加录音权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

安卓6.0及以上版本需要在调用录音功能前动态申请该权限,否则无法正常录制语音。

2. 语音录制参数说明

Amazon Lex支持pcm、wav、mp3、opus等常见音频格式,推荐使用16kHz采样率、16位位深、单声道的PCM格式,兼容性最高,识别准确率也更好。

3. 核心请求代码

// 复用你已有的初始化逻辑,不需要修改
AWSCredentialsProvider credentialProvider;
String accessKeyId = "";
String secretAccessKey = "";
credentialProvider = new StaticCredentialsProvider(new BasicAWSCredentials(accessKeyId, secretAccessKey));
AmazonLexRuntimeClient client  = new AmazonLexRuntimeClient(credentialProvider);
client.setRegion(Region.getRegion(Regions.US_EAST_2));

// ------------ 以下是语音请求专属逻辑 ------------
PostContentRequest audioRequest = new PostContentRequest();
// 基础参数和文本请求一致
audioRequest.setBotName("你的Bot名称");
audioRequest.setBotAlias("你的Bot别名");
audioRequest.setUserId("用户唯一标识");
// 设置音频格式,这里对应16k采样单声道16位PCM格式,如果你用其他格式对应修改即可
audioRequest.setContentType("audio/l16; rate=16000; channels=1");
// 设置期望的返回格式,要文本返回填application/json,要语音返回填audio/mpeg
audioRequest.setAccept("application/json");

// 将你录制好的音频转成字节流传入,这里inputStream就是你录音得到的音频输入流
audioRequest.setInputStream(inputStream);
// 注意:请求必须在工作线程执行,不能放在主线程
PostContentResult audioResult = client.postContent(audioRequest);

// 解析文本返回结果
String responseMessage = audioResult.getMessage();
String sentimentLabel = audioResult.getSentimentResponse().getSentimentLabel();
Log.e("AMAZON", "返回回复:" + responseMessage);
Log.e("AMAZON", "情感标签:" + sentimentLabel);

// 如果你设置了返回语音格式,可以通过以下逻辑获取音频流播放
// InputStream audioResponseStream = audioResult.getAudioStream();
// 后续将流转成音频文件播放即可

4. 注意事项

  • 不要将固定的访问密钥硬编码在代码中,正式发布版本建议使用AWS Cognito做凭证管理,避免密钥泄露风险。
  • 所有Lex相关的网络请求必须放在子线程执行,直接在主线程调用会触发安卓网络主线程异常。

内容的提问来源于stack exchange,提问作者Uriel Frank Feupeussi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:03:01