在开始API开发工作之前,您需要完成必要的开发准备工作,同时请确保您的工程中已经配置HMS Core SDK的maven仓地址,并且完成了本服务的SDK集成。
1. 新建音频文件转写引擎并初始化;新建音频文件转写配置器。
- // 新建音频文件转写引擎。
- MLRemoteAftEngine engine = MLRemoteAftEngine.getInstance();
- // 引擎初始化,传入当前context。
- engine.init(this);
- // 新建音频文件转写配置器。
- MLRemoteAftSetting setting = new MLRemoteAftSetting.Factory()
- // 设置转写语言编码,使用BCP_47,当前支持中文"zh",英文"en-US"转写。
- .setLanguageCode("zh")
- .create();
2. 新建侦听器回调,用于处理音频文件转写结果(处理的音频文件时长需小于1分钟)。
- private MLRemoteAftListener aftListener = new MLRemoteAftListener() {
- public void onResult(String taskId, MLRemoteAftResult result, Object ext) {
- // 获取转写结果通知。
- if (result.isComplete()) {
- // 转写结果处理。
- }
- }
- @Override
- public void onError(String taskId, int errorCode, String message) {
- // 转写错误回调函数。
- }
- @Override
- public void onInitComplete(String taskId, Object ext) {
- // 预留接口。
- }
- @Override
- public void onUploadProgress(String taskId, double progress, Object ext) {
- // 预留接口。
- }
- @Override
- public void onEvent(String taskId, int eventId, Object ext) {
- // 预留接口。
- }
- };
3. 将侦听器回调传给第一步中定义的音频文件转写引擎中。
- engine.setAftListener(aftListener);
4. 开发者可以将本地获取的音频或者通过录音机录取的音频,通过shortRecognize方法传入上面定义的音频文件转写引擎中。
- // uri为从本地存储或者录音机读取到的语音资源,仅支持时长在1分钟之内的本地音频,支持 content:// 和 file:// 开头的URI路径。
- engine.shortRecognize(uri, setting);