# SDK 总览 七个制品的坐标,运行环境与接口对照。 来源:https://open.shengzhiai.com/sdk/v2/sdks/ ## 制品 - [Java](https://open.shengzhiai.com/sdk/v2/sdks/java/):服务端,Java 11 及以上,`com.shengzhiai.yugu:yugu-java-sdk:2.1.0` - [安卓](https://open.shengzhiai.com/sdk/v2/sdks/android/):安卓 5.0 及以上,Kotlin 编写,Java 可调用,`com.shengzhiai.yugu:yugu-android-sdk:2.1.0` - [iOS](https://open.shengzhiai.com/sdk/v2/sdks/ios/):iOS 13 及以上,Swift `5.9`,`yugu-ios-sdk.git 2.1.0` - [网页](https://open.shengzhiai.com/sdk/v2/sdks/web/):主流浏览器与 Node.js 18 及以上,`@shengzhiai/yugu-web-sdk@2.1.0` - [微信小程序](https://open.shengzhiai.com/sdk/v2/sdks/miniprogram/):基础库 `2.20.1` 及以上,`@shengzhiai/yugu-miniprogram-sdk@2.1.0` - [安卓声通平替](https://open.shengzhiai.com/sdk/v2/sdks/android-stcompat/):包名 `com.stkouyu`,Java 8 字节码,`com.shengzhiai.yugu:stkouyu-compat:2.1.2` - [iOS 声通平替](https://open.shengzhiai.com/sdk/v2/sdks/ios-stcompat/):模块 `STKouyuEngine`,iOS 12 及以上,`stkouyu-ios-compat.git 2.1.2` - [其他语言](https://open.shengzhiai.com/sdk/v2/api/openapi/):按 OpenAPI 描述生成客户端,`spec/openapi.yaml` 安装写法见[安装](https://open.shengzhiai.com/sdk/v2/installation/),各端最低版本与工具链见[版本兼容](https://open.shengzhiai.com/sdk/v2/compatibility/)。 ## 接口对照 五端方法同名,参数顺序按各语言习惯排列。 | 能力 | 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 节。实时中间评分指录音过程中逐字返回分数,平台不提供,分数在终评中返回。