|
@@ -155,23 +155,18 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
userSoundInfoMap.get(phone).getAccessFile().write(message.getPayload().array());
|
|
|
}
|
|
|
|
|
|
- byte[] bytes = new byte[message.getPayloadLength()];
|
|
|
- userSoundInfoMap.get(phone).getAccessFile().seek(0);
|
|
|
- userSoundInfoMap.get(phone).getAccessFile().readFully(bytes);
|
|
|
- bytes = message.getPayload().array();
|
|
|
-
|
|
|
- List<MusicPitchDetailDto> recordInfo = new ArrayList<>();
|
|
|
- AudioDispatcher dispatcher = AudioDispatcherFactory.fromByteArray(bytes, audioFormat, simpleSize, 128);
|
|
|
- dispatcher.addAudioProcessor(new PitchProcessor(algo, simpleRate, simpleSize, (pitchDetectionResult, audioEvent) -> {
|
|
|
- int timeStamp = (int) (userSoundInfoMap.get(phone).getMeasureStartTime() + audioEvent.getTimeStamp()*1000);
|
|
|
- float pitch = pitchDetectionResult.getPitch();
|
|
|
- LOGGER.info("频率:{}, {}", timeStamp, pitch);
|
|
|
- recordInfo.add(new MusicPitchDetailDto(timeStamp, pitch));
|
|
|
- }));
|
|
|
- dispatcher.run();
|
|
|
- if(Objects.isNull(userSoundInfoMap.get(phone).getAccessFile())){
|
|
|
- return;
|
|
|
- }
|
|
|
+// List<MusicPitchDetailDto> recordInfo = new ArrayList<>();
|
|
|
+// AudioDispatcher dispatcher = AudioDispatcherFactory.fromByteArray(message.getPayload().array(), audioFormat, simpleSize, 128);
|
|
|
+// dispatcher.addAudioProcessor(new PitchProcessor(algo, simpleRate, simpleSize, (pitchDetectionResult, audioEvent) -> {
|
|
|
+// int timeStamp = (int) (userSoundInfoMap.get(phone).getMeasureStartTime() + audioEvent.getTimeStamp()*1000);
|
|
|
+// float pitch = pitchDetectionResult.getPitch();
|
|
|
+// LOGGER.info("频率:{}, {}", timeStamp, pitch);
|
|
|
+// recordInfo.add(new MusicPitchDetailDto(timeStamp, pitch));
|
|
|
+// }));
|
|
|
+// dispatcher.run();
|
|
|
+// if(Objects.isNull(userSoundInfoMap.get(phone).getAccessFile())){
|
|
|
+// return;
|
|
|
+// }
|
|
|
|
|
|
double recordTime = userSoundInfoMap.get(phone).getAccessFile().length()/(audioFormat.getFrameSize()*audioFormat.getFrameRate())*1000;
|
|
|
|
|
@@ -182,7 +177,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
if(recordTime>(userMeasureEndTimeMapEntry.getValue().getEndTimeStamp()+ot)){
|
|
|
LOGGER.info("频分开始{}:{}", recordTime, userSoundInfoMap.get(phone).getAccessFile().length());
|
|
|
// measureCompare(phone, userMeasureEndTimeMapEntry.getKey());
|
|
|
-// measureCompare2(phone, userMeasureEndTimeMapEntry.getValue());
|
|
|
+ measureCompare2(phone, userMeasureEndTimeMapEntry.getValue());
|
|
|
userSoundInfoMap.get(phone).getMeasureEndTime().remove(userMeasureEndTimeMapEntry.getKey());
|
|
|
break;
|
|
|
}
|
|
@@ -421,9 +416,10 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
|
|
|
List<MusicPitchDetailDto> recordInfo = new ArrayList<>();
|
|
|
byte[] bytes = new byte[measureByteNum];
|
|
|
-// userSoundInfoMap.get(phone).getAccessFile().seek((userSoundInfoMap.get(phone).getAccessFile().length()-measureByteNum));
|
|
|
- userSoundInfoMap.get(phone).getAccessFile().seek(0);
|
|
|
- userSoundInfoMap.get(phone).getAccessFile().read(bytes);
|
|
|
+ long startOffset = (userSoundInfoMap.get(phone).getAccessFile().length()-measureByteNum);
|
|
|
+ userSoundInfoMap.get(phone).getAccessFile().seek(startOffset-10);
|
|
|
+// userSoundInfoMap.get(phone).getAccessFile().seek(0);
|
|
|
+ userSoundInfoMap.get(phone).getAccessFile().readFully(bytes);
|
|
|
|
|
|
userSoundInfoMap.get(phone).getAccessFile().seek(userSoundInfoMap.get(phone).getAccessFile().length());
|
|
|
|