Browse Source

fix: #8701 bug修复

TIANYONG 1 year ago
parent
commit
18f9d29402

+ 1 - 0
src/helpers/formateMusic.ts

@@ -904,6 +904,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 			usetime += noteLength;
 			relaMeasureLength += noteLength;
 			let relaEndtime = noteLength + relativeTime;
+			// console.log('relaEndtime',noteLength, relativeTime)
 			const fixedKey = note.fixedKey || 0;
 			const svgElement = activeVerticalMeasureList[0]?.vfVoices["1"]?.tickables[si];
 			// console.log(note.sourceMeasure.MeasureNumberXML,note,svgElement, NoteRealValue, measureLength)

+ 4 - 1
src/page-instrument/evaluat-model/index.tsx

@@ -99,7 +99,9 @@ export default defineComponent({
       for (let index = 0; index < state.times.length; index++) {
         const item = state.times[index];
         const note = getNoteByMeasuresSlursStart(item);
-        const rate = state.speed / state.originSpeed;
+        // #8701 bug: 评测模式,是以曲谱本身的速度进行评测,所以rate取1,不需要转换
+        // const rate = state.speed / state.originSpeed;
+        const rate = 1;
         const difftime = item.difftime;
         const start = difftime + (item.sourceRelativeTime || item.relativeTime);
         const end = difftime + (item.sourceRelaEndtime || item.relaEndtime);
@@ -127,6 +129,7 @@ export default defineComponent({
         }
         // console.log(note.measureOpenIndex, item.measureOpenIndex, note);
         // console.log("skip", skip)
+        // console.log(end,start,rate,noteRate, '评测')
         const data = {
           timeStamp: (start * 1000) / rate,
           duration: ((end * 1000) / rate - (start * 1000) / rate) * noteRate,

+ 1 - 1
src/page-instrument/view-detail/index.tsx

@@ -31,7 +31,7 @@ import ToggleMusicSheet from "/src/view/plugins/toggleMusicSheet"
 /**
  * 特殊教材分类id
  */
-export const classids = [1, 2, 6, 7, 8, 9, 3, 10, 11, 12, 13, 4, 14, 15, 16, 17, 30, 31, 35, 36, 108];  // 大雅金唐, 竖笛教程, 声部训练展开的分类ID
+export const classids = [1, 2, 6, 7, 8, 9, 3, 10, 11, 12, 13, 4, 14, 15, 16, 17, 30, 31, 35, 36, 46, 108];  // 大雅金唐, 竖笛教程, 声部训练展开的分类ID
 
 const calcCeilFrequency = (frequency: number) => {
   if (frequency) return frequency * 1000 * 2 / 1000;