1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 科大讯飞 asr 实时语音转写 rtasr 基于Netty编写的websocket client SDK

科大讯飞 asr 实时语音转写 rtasr 基于Netty编写的websocket client SDK

时间:2022-02-16 03:22:23

相关推荐

科大讯飞 asr 实时语音转写 rtasr 基于Netty编写的websocket client SDK

概述

近期因为项目需要,要接入科大讯飞 实时语音转写功能,由于官网没提供SDK,也没有找到合适的开源SDK,所以这里自己花了两天时间,用Netty写了一版。

项目地址

github

Maven引入

<dependency><groupId>com.yijianguanzhu.iflytek</groupId><artifactId>iflytek-rtasr-websocket-client</artifactId><version>1.1</version></dependency>

大致用法

@Slf4jpublic class Main {public static void main( String[] args ) throws InterruptedException {// 线程安全,AsrWebSocketClientConfig设置成全局唯一变量AsrWebSocketClientConfig config = AsrWebSocketClientConfig.builder().appId( "你的appid" ).apiKey( "你的apikey" ).url( "wss:///v1/ws" ).build();// 线程安全,AsrWebSocketClient设置成全局唯一变量AsrWebSocketClient asrWebSocketClient = AsrWebSocketClientFactory.buildClient( config );// 每次音频转写会话,都会新生成一个AsrChannel对象AsrChannel asrChannel = asrWebSocketClient.onMessage( asrResponse -> {log.info( asrResponse.toString() );} );asrChannel.onError( asrException -> {log.error( "异常:", asrException );} );asrChannel.onStarted( asrResponse -> {log.info( "已和科大讯飞服务端握手成功." );} );// 等待和科大讯飞握手成功asrChannel.awaitOpen();log.info( "开始" );asrChannel.send( "".getBytes() );// 通知会话结束标识plete();// 等待科大讯飞识别完最后一段语音。asrChannel.await();// 生产中,不需要关闭客户端,这里关闭只是测试结束时为了能够退出虚拟机。asrWebSocketClient.shutdown();}}

边录音边识别用法

在自己工程中引入依赖后,只需要在自己代码中编写如下代码即可,然后根据提示操作。之后你便可以边说话边识别

import com.yijianguanzhu.iflytek.rtasr.Main;/*** @author yijianguanzhu 01月09日* @since 1.8*/public class AsrTest {public static void main( String[] args ) {Main.appId = "你的appId";Main.apiKey = "你的apiKey";Main.main( args );}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。