|
@@ -54,9 +54,14 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
private Map<String, Double> userMeasureStartTimeMap = new ConcurrentHashMap<>();
|
|
|
private Map<String, List<MusicPitchDetailDto>> userLastMeasurePithInfoMap = new ConcurrentHashMap<>();
|
|
|
private Map<String, Map<String, BigDecimal>> userTotalScoreMap = new ConcurrentHashMap<>();
|
|
|
+ private Map<String, Integer> userMusicIdMap = new ConcurrentHashMap<>();
|
|
|
|
|
|
public WebSocketHandler() {
|
|
|
super();
|
|
|
+ File soundDir = new File(tmpDir);
|
|
|
+ if(!soundDir.exists()){
|
|
|
+ soundDir.mkdir();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -87,6 +92,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
switch (commond){
|
|
|
case SoundSocketService.MUSIC_XML:
|
|
|
List<MusicPitchDetailDto> musicXmlInfos = JSON.parseArray(bodyObject.getString("musicXmlInfos"), MusicPitchDetailDto.class);
|
|
|
+ userMusicIdMap.put(phone, bodyObject.getInteger("id"));
|
|
|
userLastMeasurePithInfoMap.put(phone, new ArrayList<>());
|
|
|
userTotalScoreMap.put(phone, new HashMap<>());
|
|
|
userMeasureXmlInfoMap.put(phone, musicXmlInfos.stream().collect(Collectors.groupingBy(MusicPitchDetailDto::getMeasureIndex)));
|
|
@@ -97,7 +103,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
|
|
|
}
|
|
|
break;
|
|
|
case SoundSocketService.RECORD_START:
|
|
|
- File file = new File(tmpDir+phone +"-"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
|
|
|
+ File file = new File(tmpDir+phone + "_"+ userMusicIdMap.get(phone) +"_"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
|
|
|
userRandomAccessFileMap.put(phone, new RandomAccessFile(file, "rw"));
|
|
|
userMeasureMap.put(phone, new HashSet<>());
|
|
|
userMeasureStartTimeMap.put(phone, (double) 0);
|