10 分钟接入:集成发音评测 Android SDK
从申请测试凭证、引入 AAR、初始化 DolphinSOE,到录音或文件评测与结果回调,快速跑通 Android 发音评测 Demo。

如果你正打算开发一个语言学习 App,在了解了 DolphinSOE 的功能之后,你一定想马上动手开始开发。DolphinSOE 已经准备了多种开发语言的 SDK,能够帮助开发者快速上手集成发音评测功能。 本文就以 Android SDK 为例,手把手带你体验 10 分钟快速跑通一个能出分的英语发音评测 DEMO。
DolphinSOE Android Demo 运行界面在 Android 上集成发音评测,真的只需要 10 分钟吗?
跑通一个最小可运行 Demo,确实只需要 10 分钟:完成凭证申请、引入 SDK、初始化引擎、执行一次录音并获取评分。但跑通 Demo 不等于可以直接上线生产环境,业务上线还需要完成题库准备、业务 UI 开发、异常逻辑处理等工作。
但即便只是跑通 Demo,这个过程也比大多数人想象中简单得多。DolphinSOE 提供的 Android SDK 已经把录音采集、Token 维护、音频传输、获取打分结果这一整条链路都包进了客户端几行调用里。从零开始,大概需要以下的操作步骤:
| 步骤 | 预计耗时 |
|---|---|
| 提交官网表单、接收自动回复邮件 | 2 分钟 |
| 下载 SDK,把 appid/appsecret 填进示例代码 | 2 分钟 |
| 设置题型参数(评分题型、参考答案等) | 2 分钟 |
| 编译、运行 | 4 分钟 |
日文版接入流程
中文版接入流程准备好开发环境,跟我们一起开始吧。
两分钟完成测试申请
DolphinSOE 的测试通道相当简单:
- ① 提交测试申请:在官网提交「联系我们」表单,
- ② 接收自动回复的邮件:只需几秒钟,系统会自动回复一封邮件,邮件里附带试用的
appid/appsecret。这套测试凭证支持英语、日语、中文三种语言的发音评测,最大支持 2 路并发,能够满足本地调试和单设备演示需求。 邮件里还附了 SDK 下载地址和接口文档,安卓 SDK 下载下来解压就能用。
下载后的 Demo 工程内置完整测试界面,录音、音频播放、评分展示等基本功能均已实现,无需开发者从头搭建 UI,有效提升集成调试效率。
三步跑通第一个发音评测流程
以调用英语基础题型为例,DEMO 把接入压缩成了三步:
Step 1 · 放入 SDK 文件。 将压缩包中的 .aar 文件放入项目的 app/libs 目录。请根据项目目标设备架构(x86 / ARM)选择对应的 aar 包。
Step 2 · 填入凭证。 打开项目中的 MainActivity.java 文件,把邮件中收到的 appid / appsecret 填进这两个常量:
// MainActivity.java private static final String appIdEn = ""; // ← 填写邮件里的 appid private static final String appSecretEn = ""; // ← 填写邮件里的 appsecret
Step 3 · 编译运行。 实测运行,在 DEMO 的测试界面上选择题型,开始录音、朗读、结束录音,分数立刻出来。
到这里,一个最简单的发音评测 DEMO 就已经跑通了,是不是非常简单?
如果你接下来想把发音评测 SDK 嵌入到自己的 App里,那请继续往下看。
DEMO 在背后做了什么
如果你要把评测嵌进自己的业务界面,而不是用 DEMO 的测试页,那你需要了解引擎的初始化流程。具体在 EvalLogic.java 这个文件中。
// 1) 创建引擎单例 SpeechEval eval = SpeechEval.createInstance(this); // 2) 基础配置 eval.setSampleRate(16000); // 采样率固定 16000 eval.setListener(evalListener); // 实现 EventListener,接收结果/错误事件 eval.setInitLanguageEn(SpeechEval.InitSettingOnline.OralOnLine); //设置为在线评测模式 // 3) 初始化单例 eval.setServerAPI("api.soe.dolphin-ai.jp"); eval.init(appIdEn, appSecretEn, "user01");
初始化结果通过 engineInitState 回调回来,成功码是 "00000"。常见的失败码:13010(缺少网络权限)、11011(签名错误)、11013(appId 不存在)。在开发调试时,可优先通过该状态码配合状态码表排查相关问题。
一次评测要设置哪些参数?
- 公共参数:管「怎么连接、用什么语言、什么评分规则」,它是整个会话级别的配置,跟“评什么”无关。
- 题型参数:管「这一题评什么、怎么评」,这是每个评测任务(每次请求)的配置,核心就是“选题型+提供参考答案”。
跑通 DEMO 时,在 UI.java 中已经配置了相关的公共参数,比如语种 langType、采样率 sampleRate 等。如果你需要设置某个参数,使用 SpeechEval 类中提供的 set 方法就可以了。在这里注意,如果不希望云端留存音频数据,请调用 setAudioUrl(false) 进行设置;如需云端保存音频,请设置 setAudioUrl(true) ,音频的下载链接将随评分结果一同返回,云端存储的数据将在 30 天后自动删除。
对于题型参数,需要通过 setParamsJson 传进去:
JSONObject json = new JSONObject(); json.put("mode", "word"); // 题型:word / sentence / chapter 等等 json.put("refText", "good morning"); // 参考文本,引擎照它打分 eval.setParamsJson(json);
不同题型在参考文本怎么组织、评到什么粒度上差别很大。各题型的时长限制、refText 与评分维度差异,我们在英语发音评测基础题型这篇文章里系统讲过;完整的参数列表(以英语单词题型为例),请参考接口文档。
最后建议每次评测都传入 userId(可以自定义,DEMO 里示例是“user01”),userId 会随评测结果原样回传,便于问题排查与数据追溯。
怎样开始录音并得到评分结果?
配置好之后,评测有两种发起方式:
- 录音方式:
createRecorder()建好录音器,再start(recorder, startListener)开始;用户念完调stop()结束(也可以开后置静音检测让它自动停)。startListener用来监听开始 / 结束状态,体验更稳。 - 传文件方式:
start(wavPath, startListener),直接把一段已有的音频送进去评。文件要求 16000Hz / 16Bit / 单声道 的 wav 或 pcm,发完自动结束,不用再调用stop()。
如果中途想取消,使用 cancel() 取消本次评测,不会返回结果。
结果在 onResult 回调里以 JSON 字符串形式返回:
eval.setListener(new SpeechEval.EventListener() { @Override public void onResult(String result, boolean online) { // result 是 JSON 字符串,从中解析出各维度得分 // 具体格式请参考接口协议文档 } @Override public void onWarning(String taskId, String code, String msg) { // 处理Warning事件 } @Override public void onError(String taskId, String code, String msg) { // 处理Error事件 } });
回调分为 Warning(警告)与 Error(错误)两类:触发 Warning 仍会正常返回评测结果,比如音量过低、录音时长过短等场景;触发 Error 代表任务异常终止,不会返回评分结果,比如缺少必填参数、凭证无效等场景。
中文结果回调流程
日文结果回调流程结语
到这里,相信你已经掌握了 DolphinSOE Android 发音评测 SDK 的基础接入流程,可以快速跑通完整的发音评测 Demo。
DolphinSOE 发音评测能力已经在海外教学场景落地验证,客户覆盖外语学习 App、学校、课外班等各类教育机构,支撑日均约 **10 万次(100k calls/day)**的评测请求,经受住高并发教学场景的实际考验。
SDK 接入只是第一步。想要真正发挥发音评测的价值,还需要结合自身业务,设计贴合学习者的练习流程,把打分能力转化为切实的发音训练体验。如果在集成过程中遇到问题,可以查阅配套接口文档,或者联系我们获取技术支持。
分享文章
继续阅读

为什么儿童英语发音评测需要专属 Kids 模型?
儿童英语发音评测为什么需要 Kids 模型?从声学差异、评分校准到 word_kids 等题型,了解 DolphinSOE 如何适配儿童语音。

26,000 份就诊记录几乎都有编造内容:Whisper 幻觉的结构性风险与商用对策
Whisper 为什么会在静音段编造出整句话?基于 AP 调查报道与康奈尔大学研究,解析 LLM 解码器的幻觉成因、四个商用场景的代价、后处理为什么救不了,以及一份可直接执行的静音段测试清单。

从音标到段落,一次讲清英语发音评测基础题型
DolphinSOE 英语发音评测该如何选择 phoneme、word、sentence、chapter、wordcheck 等基础题型?本文按评测粒度、时长和纠错能力逐一说明。