Pārlūkot izejas kodu

feat:小节评分

Joburgess 4 gadi atpakaļ
vecāks
revīzija
b994e151c2

+ 9 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/handler/WebSocketHandler.java

@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.socket.*;
 import org.springframework.web.socket.handler.AbstractWebSocketHandler;
 
+import java.io.*;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -20,6 +21,9 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
 
     public static final Map<String, WebSocketSession> WS_CLIENTS = new ConcurrentHashMap<>();
 
+    private static File file;
+    private static FileOutputStream fos;
+
     public WebSocketHandler() {
         super();
     }
@@ -30,6 +34,8 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         LOGGER.info("{}上线", session.getPrincipal().getName().split(":")[1]);
         WS_CLIENTS.put(phone, session);
         super.afterConnectionEstablished(session);
+        file = new File("E:\\Temp\\record.wav");
+        fos = new FileOutputStream(file);
     }
 
     @Override
@@ -46,6 +52,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
     @Override
     protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
         super.handleBinaryMessage(session, message);
+        fos.write(message.getPayload().array());
     }
 
     @Override
@@ -61,6 +68,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         session.close();
         String phone = session.getPrincipal().getName().split(":")[1];
         WS_CLIENTS.remove(phone);
+        fos.close();
     }
 
     @Override
@@ -69,6 +77,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         String phone = session.getPrincipal().getName().split(":")[1];
         LOGGER.info("{}离线", phone);
         WS_CLIENTS.remove(phone);
+        fos.close();
     }
 
     @Override