yonge 3 年之前
父节点
当前提交
5504ae18e6

+ 7 - 12
audio-analysis/src/main/java/com/yonge/nettty/dto/UserChannelContext.java

@@ -38,6 +38,8 @@ public class UserChannelContext {
 	
 	
 	private Integer subjectId;
 	private Integer subjectId;
 	
 	
+	private int beatDuration;
+	
 	private int beatByteLength;
 	private int beatByteLength;
 	
 	
 	// 曲目与musicxml对应关系
 	// 曲目与musicxml对应关系
@@ -65,9 +67,10 @@ public class UserChannelContext {
 	
 	
 	private HardLevelEnum hardLevel = HardLevelEnum.ADVANCED;
 	private HardLevelEnum hardLevel = HardLevelEnum.ADVANCED;
 	
 	
-	public void init(String heardLevel, int subjectId, int beatByteLength) {
+	public void init(String heardLevel, int subjectId, int beatDuration) {
 		this.subjectId = subjectId;
 		this.subjectId = subjectId;
-		this.beatByteLength = WaveformWriter.SAMPLE_RATE * WaveformWriter.BITS_PER_SAMPLE / 8 * beatByteLength / 1000;
+		this.beatDuration = beatDuration;
+		this.beatByteLength = WaveformWriter.SAMPLE_RATE * WaveformWriter.BITS_PER_SAMPLE / 8 * beatDuration / 1000;
 		//hardLevel = HardLevelEnum.valueOf(heardLevel);
 		//hardLevel = HardLevelEnum.valueOf(heardLevel);
 	}
 	}
 	
 	
@@ -92,10 +95,6 @@ public class UserChannelContext {
 		this.recordId = recordId;
 		this.recordId = recordId;
 	}
 	}
 
 
-	public void setSubjectId(Integer subjectId) {
-		this.subjectId = subjectId;
-	}
-
 	public ConcurrentHashMap<Integer, MusicXmlBasicInfo> getSongMusicXmlMap() {
 	public ConcurrentHashMap<Integer, MusicXmlBasicInfo> getSongMusicXmlMap() {
 		return songMusicXmlMap;
 		return songMusicXmlMap;
 	}
 	}
@@ -124,11 +123,8 @@ public class UserChannelContext {
 		return doneNoteAnalysisList;
 		return doneNoteAnalysisList;
 	}
 	}
 
 
-	public int getBeatByteLength() {
-		return beatByteLength;
-	}
-
 	public void resetUserInfo() {
 	public void resetUserInfo() {
+		beatByteLength = WaveformWriter.SAMPLE_RATE * WaveformWriter.BITS_PER_SAMPLE / 8 * beatDuration / 1000;
 		waveFileProcessor = null;
 		waveFileProcessor = null;
 		processingNote = new NoteAnalysis(0,0,-1);
 		processingNote = new NoteAnalysis(0,0,-1);
 		evaluatingSectionIndex = new AtomicInteger(0);
 		evaluatingSectionIndex = new AtomicInteger(0);
@@ -137,7 +133,6 @@ public class UserChannelContext {
 		doneSectionAnalysisList = new ArrayList<SectionAnalysis>();
 		doneSectionAnalysisList = new ArrayList<SectionAnalysis>();
 		chunkAnalysisList = new ArrayList<ChunkAnalysis>();
 		chunkAnalysisList = new ArrayList<ChunkAnalysis>();
 		recordId = null;
 		recordId = null;
-		subjectId = null;
 		playTime = 0;
 		playTime = 0;
 		receivedTime = 0;
 		receivedTime = 0;
 		lastChunkAnalysisList = new ArrayList<ChunkAnalysis>();
 		lastChunkAnalysisList = new ArrayList<ChunkAnalysis>();
@@ -287,7 +282,7 @@ public class UserChannelContext {
 
 
 			if (playTime >= (musicXmlNote.getDuration() + musicXmlNote.getTimeStamp())) {
 			if (playTime >= (musicXmlNote.getDuration() + musicXmlNote.getTimeStamp())) {
 
 
-				LOGGER.info("------ Frequency:{}  splDb:{}  Power:{}  amplitude:{} ------", playFrequency, splDb, power, amplitude);
+				LOGGER.info("------ Frequency:{}  splDb:{}  Power:{}  amplitude:{} time:{}------", playFrequency, splDb, power, amplitude, playTime);
 				
 				
 				ChunkAnalysis lastChunkAnalysis = new ChunkAnalysis(playTime - durationTime, playTime, playFrequency, splDb, power, amplitude);
 				ChunkAnalysis lastChunkAnalysis = new ChunkAnalysis(playTime - durationTime, playTime, playFrequency, splDb, power, amplitude);
 				if(Math.abs(chunkAnalysisList.get(chunkAnalysisList.size() - 1).getFrequency() - lastChunkAnalysis.getFrequency()) > hardLevel.getFrequencyOffset()){
 				if(Math.abs(chunkAnalysisList.get(chunkAnalysisList.size() - 1).getFrequency() - lastChunkAnalysis.getFrequency()) > hardLevel.getFrequencyOffset()){

+ 0 - 1
audio-analysis/src/main/java/com/yonge/netty/server/messagehandler/TextWebSocketHandler.java

@@ -114,7 +114,6 @@ public class TextWebSocketHandler extends SimpleChannelInboundHandler<TextWebSoc
 				sysMusicCompareRecord.setSourceTime((float) ((musicXmlNote.getTimeStamp()+musicXmlNote.getDuration())/1000));
 				sysMusicCompareRecord.setSourceTime((float) ((musicXmlNote.getTimeStamp()+musicXmlNote.getDuration())/1000));
 				sysMusicCompareRecordService.insert(sysMusicCompareRecord);
 				sysMusicCompareRecordService.insert(sysMusicCompareRecord);
 				channelContext.setRecordId(sysMusicCompareRecord.getId());
 				channelContext.setRecordId(sysMusicCompareRecord.getId());
-				channelContext.setSubjectId(musicXmlBasicInfo.getSubjectId());
 			}
 			}
 			break;
 			break;
 		case "recordEnd": // 结束评测
 		case "recordEnd": // 结束评测