快速集成
本文主要介绍如何使用 KAsrSDK -Android以及科达视讯平台实现实时语音识别功能。
开发环境要求
- Android Studio 4.0 或以上版本
- Android SDK API 等级 25 或以上
- Android 7 或以上版本的设备
音频格式要求
- 采样率:16KHz
- 采样位数:16bits
- 通道数:单通道
- 音频格式:无压缩PCM或WAVE
调用流程
1. 初始化KAsrSDK
在调用其他 KAsrSDK 接口 前,需要初始化 KAsrEngine对象
KAsrSDKLogParam logParam = new KAsrSDKLogParam (false,null,null);
KAsrEngine.init(getApplicationContext(),logParam,LogCallBack.instance()));
2. 获取 KAsrClient 对象
为使用 KAsrSDK 视讯接口,您需要先获取 KAsrClient 对象
KAsrClient kAsrClient = KAsrEngine.createAsrInstance();
KAsrSDK 支持多实例模式,您需要为每个 KAsrClient 对象分别注册回调
public class EventCallback extends KAsrCallBack
{
public void onWarning(int warningType, String content) {}
public void onError(int errorType, String content) {}
public void onRelease(int result) {}
public void onStart(int result, String sessionId){}
public void onRecogResult(KAsrRecogResult result){}
public void onStop(int result) {}
};
kAsrClient.init(new EventCallback());
3. 开始会话
在进行实时转写前,您需要打开一个会话
KAsrAuthParam param = new KAsrAuthParam(服务地址,Token);
kAsrClient.start(param);
验证成功后,您会收到 onStart 回调
4. 传输音频
在成功打开会话后,就可以传输音频了,(单声道,采样率16k, 量化的精度16bit )
KAsrAudioFrameData kAsrAudioFrameData = new KAsrAudioFrameData(noteArray, bufferSize, 1, 16000, 16);
kAsrClient.feed(kAsrAudioFrameData);
当后台识别到文本后,您会收到onRecogResult回调
5. 结束会话
调用以下接口来结束会话,退出后SDK会自动释放相关资源
kAsrClient.stop();
成功结束会话时您会收到 onStop 回调