Browse Source

Merge branch 'music_score'

Joburgess 4 years ago
parent
commit
e4708fca60

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/handler/WebSocketHandler.java

@@ -166,7 +166,8 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
             int timeStamp = (int) (userSoundInfoMap.get(phone).getMeasureStartTime() + audioEvent.getTimeStamp()*1000);
             float pitch = pitchDetectionResult.getPitch();
             if(pitch>0 && userSoundInfoMap.get(phone).getOffsetTime() == -1){
-                calOffsetTime(phone, (int) (CollectionUtils.isEmpty(userSoundInfoMap.get(phone).getRecordMeasurePithInfo())?0:userSoundInfoMap.get(phone).getRecordMeasurePithInfo().get(userSoundInfoMap.get(phone).getRecordMeasurePithInfo().size()-1).getTimeStamp()));
+                int preTimeStamp = CollectionUtils.isEmpty(userSoundInfoMap.get(phone).getRecordMeasurePithInfo())?0:userSoundInfoMap.get(phone).getRecordMeasurePithInfo().get(userSoundInfoMap.get(phone).getRecordMeasurePithInfo().size()-1).getTimeStamp();
+                calOffsetTime(phone, timeStamp - (timeStamp - preTimeStamp)/2);
             }
 //            LOGGER.info("时间:{}, 频率:{}, 分贝:{}, 音分:{}", timeStamp, pitch, silenceDetecor.currentSPL(), cents);
             userSoundInfoMap.get(phone).getRecordMeasurePithInfo().add(new MusicPitchDetailDto(timeStamp, pitch, silenceDetecor.currentSPL()));
@@ -213,9 +214,9 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         super.afterConnectionClosed(session, status);
         String phone = session.getPrincipal().getName().split(":")[1];
         LOGGER.info("{}离线", phone);
+        createHeader(phone);
         WS_CLIENTS.remove(phone);
         userSoundInfoMap.remove(phone);
-        createHeader(phone);
     }
 
     @Override