Explorar el Código

feat: 右上角速度逻辑修改

TIANYONG hace 9 meses
padre
commit
fadc9c1f55

+ 1 - 1
src/pages/detail/runtime.ts

@@ -303,7 +303,7 @@ export const changeAllMode = () => {
 }
 
 export const changeSpeed = (speed: number, isSave: boolean = true) => {
-  console.log('速度设置',speed,isSave)
+  // console.log('速度设置',speed,isSave)
   // const route: any = router.currentRoute.value
   const speeds = store.get('speeds') || {}
   if (isSave){

+ 2 - 1
src/subpages/colexiu/buttons/player.tsx

@@ -14,6 +14,7 @@ export default defineComponent({
     const [wiredStatus] = useWiredHeadsetCheck()
 
     const reset = () => {
+      runtime.basePlayRate = 1;
       if (detailState.activeTick > -1) {
         return
       }
@@ -54,7 +55,7 @@ export default defineComponent({
           <div class={styles.player} id="globalPlayer">
             {!runtime.evaluatingStatus && (
               <>
-                {(runtime.playState === 'pause' || runtime.playState === 'suspend') &&
+                {
                   runtime.currentTimeNum > 0 &&
                   !detailState.sectionStatus && (
                     <Button class={[styles.button, styles.fullbtn]} onClick={reset}>

+ 5 - 2
src/subpages/colexiu/index.tsx

@@ -203,7 +203,7 @@ export default defineComponent({
       const saveSpeed = (store.get('speeds') || {})[search.id]
       const bpm = (osmd as any).bpm || osmd.Sheet.userStartTempoInBPM
 
-      detailState.activeSpeed = saveSpeed || detail.value.playSpeed || bpm || 100
+      detailState.activeSpeed = detail.value.playSpeed || bpm || 100
       detailState.baseSpeed = detail.value.playSpeed || bpm || 100
       detailState.code = detail.value?.code || ''
       detailState.activeDetail.originalSpeed = detailState.baseSpeed
@@ -264,7 +264,10 @@ export default defineComponent({
       // detailState.freeRate = freeRate.value
       useCamera()
       // 获取详情接口后,初始化右上角的播放速度
-      RuntimeUtils.changeSpeed(detailState.activeSpeed)
+      // 当前的音符
+      const currentItem: any = detailState.times[runtime.activeIndex];
+      const currentSpeed = currentItem?.measureSpeed ? currentItem.measureSpeed : detailState.activeSpeed;
+      RuntimeUtils.changeSpeed(currentSpeed)
       if (((detailState.setting?.resets || []) as string[]).includes('SPEED')) {
         if (detailState.activeDetail) {
           RuntimeUtils.changeSpeed(detailState.activeDetail?.originalSpeed)