Ver código fonte

feat:小节评分

Joburgess 4 anos atrás
pai
commit
d3042fbf91

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/handler/WebSocketHandler.java

@@ -157,9 +157,14 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         System.arraycopy(message.getPayload().array(), 0, newByte, userSoundInfoMap.get(phone).getPreDataArray().length, message.getPayloadLength());
         userSoundInfoMap.get(phone).setPreDataArray(message.getPayload().array());
 
+        double preDurationTime = userSoundInfoMap.get(phone).getPreDataArray().length/(audioFormat.getFrameSize()*audioFormat.getFrameRate())*1000;
+
         List<MusicPitchDetailDto> recordInfo = new ArrayList<>();
-        AudioDispatcher dispatcher = AudioDispatcherFactory.fromByteArray(newByte, audioFormat, simpleSize, 128);
+        AudioDispatcher dispatcher = AudioDispatcherFactory.fromByteArray(message.getPayload().array(), audioFormat, simpleSize, 128);
         dispatcher.addAudioProcessor(new PitchProcessor(algo, simpleRate, simpleSize, (pitchDetectionResult, audioEvent) -> {
+//            if(audioEvent.getTimeStamp()*1000<=preDurationTime){
+//                return;
+//            }
             int timeStamp = (int) (userSoundInfoMap.get(phone).getMeasureStartTime() + audioEvent.getTimeStamp()*1000);
             float pitch = pitchDetectionResult.getPitch();
 //            LOGGER.info("频率:{}, {}", timeStamp, pitch);