瀏覽代碼

fix: 部分曲目播放光标和音乐节拍对应不上bug修复

TIANYONG 1 年之前
父節點
當前提交
8a78dd2fdf
共有 1 個文件被更改,包括 10 次插入5 次删除
  1. 10 5
      src/pages/detail/helpers.ts

+ 10 - 5
src/pages/detail/helpers.ts

@@ -284,10 +284,14 @@ export const getAllNodes = (osmd: any) => {
           /**
            * 速度不能为0, 此处的速度应该是按照设置的速度而不是校准后的速度,否则mp3速度不对
            */
-          let beatSpeed =
-            (state.isSpecialBookCategory
-              ? getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator)
-              : baseSpeed) || 1
+
+          // let beatSpeed =
+          //   (state.isSpecialBookCategory
+          //     ? getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator)
+          //     : baseSpeed) || 1
+          // #8456 光标和节拍对应不上等bug修复, 
+          let beatSpeed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1;
+
           let speed = (state.isSpecialBookCategory ? measureSpeed : baseSpeed) || 1
           // console.log('曲谱设置的速度', { base: getTimeByBeatUnit(beatUnit, measureSpeed, iterator.currentMeasure.activeTimeSignature.Denominator), beatSpeed, speed})
           gradualChange = iterator.currentMeasure.speedInfo || gradualChange
@@ -381,7 +385,7 @@ export const getAllNodes = (osmd: any) => {
           if (i === 0) {
             fixtime += getFixTime(beatSpeed)
           }
-          // console.log({fixtime, relativeTime}, 99999999)
+          // console.log(fixtime, '看看1',beatSpeed, baseSpeed,beatUnit, speed, iterator.currentMeasure.activeTimeSignature.Denominator)
           // 酷乐秀计算音符时值方法
           // let noteLength =
           // (numerator === 0 && note.isRestFlag ? vRealValue : (wholeValue + numerator) / denominator) *
@@ -469,6 +473,7 @@ export const getAllNodes = (osmd: any) => {
             }
             fixtime += difftime
           }
+          // console.log('👀看看', relaEndtime, fixtime)
           const nodeDetail = {
             fixtime,
             skipMode,