浏览代码

时值同步

黄琪勇 4 月之前
父节点
当前提交
c0d05a4ab3
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/helpers/formateMusic.ts

+ 2 - 1
src/helpers/formateMusic.ts

@@ -1290,7 +1290,8 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
 				// 找出这个音符前面音符的结束时间
 				let preNoteTImes = allNotes[allNotes.length - 1]?.endtime*1000
 				if(!preNoteTImes){
-					preNoteTImes = fixtime*1000 //如果前一个音符没有结束时间,证明这个音符是第一个音符没有打时间,以fixtime当开始时间
+					//如果前一个音符没有结束时间,证明这个音符是第一个音符没有打时间,当有timegap以fixtime当开始时间(1795013294269087745),当第一个小节有times这个往前奏里面找补(1795013306436763649)
+					preNoteTImes = (state.evXmlBeginArr.length>0 ? fixtime : Math.max(fixtime - noteLength, 0))*1000
 				}
 				// 找出这个音符后面音符的开始时间
 				let nextI = i