Quellcode durchsuchen

feat: 右上角速度问题

TIANYONG vor 9 Monaten
Ursprung
Commit
68ae58f8ea
2 geänderte Dateien mit 14 neuen und 9 gelöschten Zeilen
  1. 2 2
      src/pages/detail/runtime.ts
  2. 12 7
      src/pages/detail/speed.tsx

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

@@ -314,9 +314,9 @@ export const changeSpeed = (speed: number, isSave: boolean = true) => {
   state.playIngSpeed = speed
   // 当前的音符
   const currentItem: any = detailState.times[state.activeIndex];
-  state.basePlayRate = currentItem?.measureSpeed ? state.speed / currentItem.measureSpeed : 1;
+  state.basePlayRate = currentItem?.measureSpeed ? state.speed / currentItem.measureSpeed : state.speed / detailState.baseSpeed;
   if (!detailState.activeDetail) return
-  state.audiosInstance?.setSpeed(speed / detailState.baseSpeed)
+  state.audiosInstance?.setSpeed(state.basePlayRate)
   promisefiyPostMessage({
     api: 'cloudChangeSpeed',
     content: {

+ 12 - 7
src/pages/detail/speed.tsx

@@ -68,14 +68,18 @@ export default defineComponent({
       state.speed = Math.min(state.speed + 1, 270)
       props.changed(state.speed)
     }
+
     watch(
-      () => runtime.playIngSpeed,
+      () => runtime.speed,
       (val) => {
         if (val) {
-          state.maxSpeed = runtime.playIngSpeed > 270 ? runtime.playIngSpeed + 45 : 315;
+          state.maxSpeed = runtime.speed > 270 ? runtime.speed + 45 : 315;
+          //console.log('速度123456',state.maxSpeed,runtime.speed,runtime.playIngSpeed)
         }
-      }
+      },
+      { immediate: true }
     )
+
     return () => (
       <div class={styles['speed-change']}>
         <div class={styles.speed}>
@@ -87,7 +91,7 @@ export default defineComponent({
               type="primary"
               size="mini"
               round
-              disabled={state.speed >= 270}
+              disabled={state.speed == 270}
               onClick={plusSpeed}
             />
             <Slider
@@ -98,8 +102,9 @@ export default defineComponent({
               buttonSize="18px"
               modelValue={state.maxSpeed - state.speed}
               onUpdate:modelValue={(speed: number) => {
-                // console.log('改变速度',speed,runtime.playIngSpeed,runtime.speed)
-                //updateSpeed(315 - speed)
+                //console.log('速度123',state.maxSpeed,speed,runtime.playIngSpeed,runtime.speed)
+                const currentSpeed = runtime.playIngSpeed > 270 ? runtime.playIngSpeed + 45 : state.maxSpeed - speed
+                updateSpeed(currentSpeed)
               }}
               step="1"
               vertical
@@ -125,7 +130,7 @@ export default defineComponent({
               type="primary"
               size="mini"
               round
-              disabled={state.speed <= 45}
+              disabled={state.speed == 45}
               onClick={minusSpeed}
             />
             <Button