赞
踩
1、官网SDK地址
https://help.aliyun.com/document_detail/84430.html?spm=a2c4g.11186623.6.581.73f65edftbwk9R
阿里的SDK比腾讯好一些,可以直接从中央仓库直接下载,并且demo 写的比较详细,在开始对接之前,我们需要仔细的看接口说明下面我们文档,这样可以减少 开始对我们对接中的坑,下面开始对接:
2、 先搞jar包
- <dependency>
- <groupId>com.alibaba.nls</groupId>
- <artifactId>nls-sdk-transcriber</artifactId>
- <version>2.1.6</version>
- </dependency>
3、注意事项
NlsClient使用了Netty框架,NlsClient对象的创建会消耗一定时间和资源,一经创建可以重复使用。建议调用程序将NlsClient的创建和关闭与程序本身的生命周期相结合。
SpeechTranscriber对象不可重复使用,一个识别任务对应一个SpeechTranscriber对象。例如,N个音频文件要进行N次识别任务,创建N个SpeechTranscriber对象。
SpeechTranscriberListener对象和SpeechTranscriber对象是一一对应的,不能在不同SpeechTranscriber对象使用同一个SpeechTranscriberListener对象,否则不能将各识别任务区分开。
4、对接流程
4.1 NlsClient类
从上面的注意事项 我们可以看出,NlsClient需要我们单独创建,所以我们在项目启动的时候的直接创建出来:
- package com.jack.chat.application.service;
-
- import com.alibaba.nls.client.AccessToken;
- import com.alibaba.nls.client.protocol.NlsClient;
- import org.apache.commons.collections4.Get;
-
- import java.io.IOException;
-
- /**
- * @author zhenghao
- * @description:
- * @date 2020/8/1419:16
- */
- public class NlsClientService {
-
- private static NlsClient client;
-
- public NlsClientService( String id, String secret, String url) {
-
- //TODO 重要提示 创建NlsClient实例,应用全局创建一个即可,生命周期可和整个应用保持一致,默认服务地址为阿里云线上服务地址
- //TODO 这里简单演示了获取token 的代码,该token会过期,实际使用时注意在accessToken.getExpireTime()过期前再次获取token
- AccessToken accessToken = new AccessToken(id, secret);
- try {
- accessToken.apply();
- System.out.println("get token: " + ", expire time: " + accessToken.getExpireTime());
- // TODO 创建NlsClient实例,应用全局创建一个即可,用户指定服务地址
- if (url.isEmpty()) {
- client = new NlsClient(accessToken.getToken());
- } else {
- client = new NlsClient(url, accessToken.getToken());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public static NlsClient getNlsClient() {
-
- return client;
- }
-
-
- }
- package com.jack.chat.application.service;
-
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。