制品#
Java服务端,Java 11 及以上
com.shengzhiai.yugu:yugu-java-sdk:2.1.0安卓安卓 5.0 及以上,Kotlin 编写,Java 可调用com.shengzhiai.yugu:yugu-android-sdk:2.1.0iOSiOS 13 及以上,Swift 5.9yugu-ios-sdk.git 2.1.0网页主流浏览器与 Node.js 18 及以上@shengzhiai/yugu-web-sdk@2.1.0微信小程序基础库 2.20.1 及以上@shengzhiai/yugu-miniprogram-sdk@2.1.0安卓声通平替包名 com.stkouyu,Java 8 字节码com.shengzhiai.yugu:stkouyu-compat:2.1.2iOS 声通平替模块 STKouyuEngine,iOS 12 及以上stkouyu-ios-compat.git 2.1.2其他语言按 OpenAPI 描述生成客户端spec/openapi.yaml接口对照#
五端方法同名,参数顺序按各语言习惯排列。
| 能力 | Java | 安卓 | iOS | 网页 | 小程序 |
|---|---|---|---|---|---|
| 原生整段评测 | evaluate(audio, config) |
evaluate(config, audio, options, image) |
evaluate(audio:config:image:options:) |
evaluate(audio, config, options) |
evaluate(params, options) |
| 声通兼容整段评测 | evaluateCompat(audio, config) |
evaluateCompat(config, audio, options) |
evaluateCompat(coreType:audio:params:options:) |
evaluateCompat(coreType, params, audio, options) |
evaluateCompat(coreType, params, options) |
| 语音合成 | tts(request) |
tts(request, options) |
tts(_:options:) |
tts(request, options) |
tts(params, options) |
| 报告查询 | getReport(recordId) |
getReport(recordId, options) |
getReport(recordId:options:) |
getReport(recordId, options) |
getReport(recordId, options) |
| 原生实时评测 | streamEvaluate(config, listener) |
streamEvaluate(config, listener, options) |
streamEvaluate(config:options:listener:) |
streamEvaluate(config, listener, options) |
streamEvaluate(params, listener, options) |
| 声通兼容实时评测 | streamEvaluateCompat(config, listener) |
streamEvaluateCompat(config, listener, options) |
streamEvaluateCompat(coreType:params:options:listener:) |
streamEvaluateCompat(coreType, params, listener, options) |
streamEvaluateCompat(coreType, params, listener, options) |
| 释放 | close() |
close() |
close() |
close() |
close() |
安卓另有 evaluateAsync,evaluateCompatAsync,ttsAsync,getReportAsync,返回可取消的 YuguCall。iOS 的整段评测,合成与报告查询同时提供 async 与完成回调两种写法。Java 的每个方法都有带单次调用选项的重载。
能力矩阵#
| 能力 | Java | 安卓 | iOS | 网页 | 小程序 | 安卓声通平替 | iOS 声通平替 |
|---|---|---|---|---|---|---|---|
| 原生整段评测 | 支持 | 支持 | 支持 | 支持 | 支持 | 不涉及 | 不涉及 |
| 声通兼容整段评测 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 语音合成 | 支持 | 支持 | 支持 | 支持 | 支持 | 不涉及 | 不涉及 |
| 报告查询 | 支持 | 支持 | 支持 | 支持 | 支持 | 不涉及 | 不涉及 |
| 原生实时评测 | 支持 | 支持 | 支持,需 iOS 13 | 支持 | 支持 | 不涉及 | 不涉及 |
| 声通兼容实时评测 | 支持 | 支持 | 支持,需 iOS 13 | 支持 | 支持 | 默认边录边传,YuguCompat.setStreamUpload(false) 时录完整段上传 |
默认边录边传,需 iOS 13,YuguCompat.streamUpload 为 NO 时录完整段上传 |
| 实时评测断线重连 | 支持 | 支持 | 支持 | 支持 | 支持 | 边录边传时支持 | 边录边传时支持 |
| 实时朗读进度 | 支持 | 支持 | 支持,需 iOS 13 | 支持 | 支持 | 支持,onScore 多次回调 |
支持,需 iOS 13 |
| 实时中间评分 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| 内置录音 | 不涉及 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 外部音频注入 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持,feed 与音频文件 | 支持,feedAudioData 与 audioPath |
| 幂等键自动注入 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 自动重试 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 错误分类与可重试判定 | 支持 | 支持 | 支持 | 支持 | 支持 | errId | errId |
| 资源释放与状态查询 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 音频预检 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 日志级别与指标回调 | 支持 | 支持 | 支持 | 支持 | 支持 | 日志级别 | 日志级别 |
| TypeScript 声明 | 不涉及 | 不涉及 | 不涉及 | 支持 | 支持 | 不涉及 | 不涉及 |
| 离线评测 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持,统一在线 | 不支持,统一在线 |
| 私有音色管理 | 不支持,控制台功能 | 不支持 | 不支持 | 不支持 | 不支持 | 不涉及 | 不涉及 |
实时朗读进度指录音过程中逐字返回是否已读与是否对上,原生实时评测打开 realtimeFeedback,声通兼容实时评测打开 realtime_feedback 后提供,格式见 CONTRACT.md 5.5 节。实时中间评分指录音过程中逐字返回分数,平台不提供,分数在终评中返回。