Pārlūkot izejas kodu

选段评测mp3节拍器时长bug修复

TIANYONG 2 mēneši atpakaļ
vecāks
revīzija
c80f603e80

+ 2 - 1
src/helpers/formateMusic.ts

@@ -371,7 +371,8 @@ export const onlyVisible = (xml: string, partIndex: number): string => {
 	const partListNames = Array.from(partList).map((item) => item.getElementsByTagName("part-name")?.[0]?.textContent?.trim() || "");
 	const parts: any = xmlParse.getElementsByTagName("part");
 	// const firstTimeInfo = parts[0]?.getElementsByTagName('metronome')[0]?.parentElement?.parentElement?.cloneNode(true)
-	const firstMeasures = [...parts[0]?.getElementsByTagName("measure")];
+	const hasMeasureIdx = Array.from(parts).findIndex((item: any) => item.getElementsByTagName("measure").length) || 0;
+	const firstMeasures = [...parts[hasMeasureIdx]?.getElementsByTagName("measure")];
 	state.totalMeasureNumber = firstMeasures.length || [...parts[1]?.getElementsByTagName("measure")]?.length
 	const metronomes = [...parts[0]?.getElementsByTagName("metronome")];
 	const words = [...parts[0]?.getElementsByTagName("words")];

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

@@ -192,7 +192,8 @@ export default defineComponent({
           const idx = startIndex - 1 - state.times[startIndex - 1].si;
           preTime = state.times[idx] ? state.times[idx].time * 1000 : 0;
         }
-        actualBeatLength = startIndex == 0 && state.isOpenMetronome ? actualBeatLength : 0;
+        // mp3节拍器时长
+        actualBeatLength = state.isOpenMetronome ? actualBeatLength : 0;
         selectTimes = state.times.filter((n: any, index: number) => {
           return index >= startIndex && index <= endIndex;
         });