目录

在开始API开发工作之前,您需要完成必要的开发准备工作,同时请确保您的工程中已经配置HMS Core SDK的maven仓地址,并且完成了本服务的SDK集成。

1. 新建音频文件转写引擎并初始化;新建音频文件转写配置器。

  1. // 新建音频文件转写引擎。
  2. MLRemoteAftEngine engine = MLRemoteAftEngine.getInstance();
  3. // 引擎初始化,传入当前context。
  4. engine.init(this);
  5. // 新建音频文件转写配置器。
  6. MLRemoteAftSetting setting = new MLRemoteAftSetting.Factory()
  7.    // 设置转写语言编码,使用BCP_47,当前支持中文"zh",英文"en-US"转写。
  8.    .setLanguageCode("zh")
  9.    .create();

2. 新建侦听器回调,用于处理音频文件转写结果(处理的音频文件时长需小于1分钟)。

  1. private MLRemoteAftListener aftListener = new MLRemoteAftListener() {
  2.    public void onResult(String taskId, MLRemoteAftResult result, Object ext) {
  3.        // 获取转写结果通知。
  4.        if (result.isComplete()) {
  5.            // 转写结果处理。
  6.        }
  7.    }
  8.    @Override
  9.    public void onError(String taskId, int errorCode, String message) {
  10.        // 转写错误回调函数。
  11.    }
  12.    @Override
  13.    public void onInitComplete(String taskId, Object ext) {
  14.        // 预留接口。
  15.    }
  16.    @Override
  17.    public void onUploadProgress(String taskId, double progress, Object ext) {
  18.        // 预留接口。
  19.    }
  20.    @Override
  21.    public void onEvent(String taskId, int eventId, Object ext) {
  22.        // 预留接口。
  23.    }
  24. };

3. 将侦听器回调传给第一步中定义的音频文件转写引擎中。

  1. engine.setAftListener(aftListener);

4. 开发者可以将本地获取的音频或者通过录音机录取的音频,通过shortRecognize方法传入上面定义的音频文件转写引擎中。

  1. // uri为从本地存储或者录音机读取到的语音资源,仅支持时长在1分钟之内的本地音频,支持 content:// 和 file:// 开头的URI路径。
  2. engine.shortRecognize(uri, setting);