注销互联网语音模块

This commit is contained in:
chenshaohua
2026-04-01 10:43:59 +08:00
parent b09fc0a3ef
commit 013e87f16b
3 changed files with 363 additions and 363 deletions

View File

@@ -1,64 +1,64 @@
package com.ruoyi.cms.handler;
import com.ruoyi.cms.util.AliyunNlsUtils;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
@Component
@ServerEndpoint("/speech-recognition")
public class SpeechRecognitionWebSocketHandler {
private SpeechRecognizerAI recognizerDemo;
public SpeechRecognitionWebSocketHandler() {
// 初始化语音识别器
String appKey = "4lFYn2yPsQymwGu8";
String id = "LTAI5t9hhSqdDHqwH3RjgyYj";
String secret = "ni5aW3vxrWouMwcGqJPfh9Uu56PBuv";
String url = System.getenv().getOrDefault("NLS_GATEWAY_URL", AliyunNlsUtils.getNlsUrl()+"/ws/v1/");
recognizerDemo = new SpeechRecognizerAI(appKey, id, secret, url);
}
/**
* 连接建立成功调用的方法
*/
@OnOpen
public void onOpen(Session session) {
System.out.println("WebSocket 连接建立成功sessionId = " + session.getId());
}
/**
* 收到客户端消息后调用的方法
*/
@OnMessage(maxMessageSize=5242880)
public void onMessage(ByteBuffer message, Session session) throws IOException {
byte[] audioData = new byte[message.remaining()];
message.get(audioData);
// 处理音频数据
recognizerDemo.processStream(session, new ByteArrayInputStream(audioData), 16000);
}
/**
* 连接关闭调用的方法
*/
@OnClose
public void onClose(Session session) {
System.out.println("WebSocket 连接关闭sessionId = " + session.getId());
}
/**
* 发生错误时调用的方法
*/
@OnError
public void onError(Session session, Throwable error) {
System.err.println("WebSocket 发生错误:" + error.getMessage());
error.printStackTrace();
}
}
//package com.ruoyi.cms.handler;
//
//import com.ruoyi.cms.util.AliyunNlsUtils;
//import org.springframework.stereotype.Component;
//
//import javax.websocket.*;
//import javax.websocket.server.ServerEndpoint;
//import java.io.ByteArrayInputStream;
//import java.io.IOException;
//import java.nio.ByteBuffer;
//
//@Component
//@ServerEndpoint("/speech-recognition")
//public class SpeechRecognitionWebSocketHandler {
//
// private SpeechRecognizerAI recognizerDemo;
//
// public SpeechRecognitionWebSocketHandler() {
// // 初始化语音识别器
// String appKey = "4lFYn2yPsQymwGu8";
// String id = "LTAI5t9hhSqdDHqwH3RjgyYj";
// String secret = "ni5aW3vxrWouMwcGqJPfh9Uu56PBuv";
// String url = System.getenv().getOrDefault("NLS_GATEWAY_URL", AliyunNlsUtils.getNlsUrl()+"/ws/v1/");
// recognizerDemo = new SpeechRecognizerAI(appKey, id, secret, url);
// }
//
// /**
// * 连接建立成功调用的方法
// */
// @OnOpen
// public void onOpen(Session session) {
// System.out.println("WebSocket 连接建立成功sessionId = " + session.getId());
// }
//
// /**
// * 收到客户端消息后调用的方法
// */
// @OnMessage(maxMessageSize=5242880)
// public void onMessage(ByteBuffer message, Session session) throws IOException {
// byte[] audioData = new byte[message.remaining()];
// message.get(audioData);
//
// // 处理音频数据
// recognizerDemo.processStream(session, new ByteArrayInputStream(audioData), 16000);
// }
//
//
// /**
// * 连接关闭调用的方法
// */
// @OnClose
// public void onClose(Session session) {
// System.out.println("WebSocket 连接关闭sessionId = " + session.getId());
// }
//
// /**
// * 发生错误时调用的方法
// */
// @OnError
// public void onError(Session session, Throwable error) {
// System.err.println("WebSocket 发生错误:" + error.getMessage());
// error.printStackTrace();
// }
//}