快速集成
本文主要介绍如何使用 KAsrSDK 以及科达视讯平台实现实时语音识别功能。
开发环境要求
- 操作系统:Windows 7及以上版本。
- 开发环境:Visual Studio 2015及以上版本,推荐使用 Visual Studio 2017。
音频格式要求
- 采样率:16KHz
- 采样位数:16bits
- 通道数:单通道
- 音频格式:无压缩PCM或WAVE
调用流程
1. 初始化KAsrSDK
在调用其他 KAsrSDK 接口 前,需要初始化 KAsrSDK 库。
KAsrSdkLogParam logParam{ false, nullptr, nullptr };
KAsrSdkInitParam initParam;
KASRSDK::init(&logParam, &initParam);
2. 获取 KAsrClient 对象
为使用 KAsrSDK 视讯接口,您需要先获取 KAsrClient 对象
KASRSDK::KAsrClient* rtcClient = KASRSDK::createAsrInstance();
KAsrSDK 支持多实例模式,您需要为每个 KAsrClient 对象分别注册回调
class MyCallBack : public KASRSDK::KAsrCallback
{
virtual void onWarning(KASRSDK::ASR_SDK_WARNING warningType, const char* content) {}
virtual void onError(KASRSDK::ASR_SDK_ERROR errorType, const char* content) {}
virtual void onRelease(int32_t result) {}
virtual void onStart(int32_t result, const char *sessionId){}
virtual void onRecogResult(KASRSDK::KAsrRecogResult *result){ }
virtual void onStop(int32_t result) {}
};
MyCallBack callback;
asrClient->init(&callback);
3. 开始会话
在进行实时转写前,您需要打开一个会话
KASRSDK::KAsrAuthParam param{ "ws://139.196.210.175:7961/","token" };
asrClient->start(¶m);
验证成功后,您会收到 onStart 回调.
4. 传输音频
在成功打开会话后,就可以传输音频了(单声道,采样率16k, 量化的精度16bit )。
KASRSDK::KAsrAudioFrameData audioFrameData;
asrClient->feed(&audioFrameData);
当后台识别到文本后,您会收到onRecogResult回调
5. 结束会话
调用以下接口来结束会话,退出后SDK会自动释放相关资源
asrClient->stop();
成功结束会话时您会收到 onStop 回调