소스 검색

feat: 评测支持调速功能

TIANYONG 11 달 전
부모
커밋
ef104e1bc1
3개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 0
      src/subpages/colexiu/buttons/evaluating.tsx
  2. 4 3
      src/subpages/colexiu/buttons/index.tsx
  3. 3 0
      src/subpages/colexiu/popups/evaluating/index.tsx

+ 2 - 0
src/subpages/colexiu/buttons/evaluating.tsx

@@ -462,6 +462,7 @@ const connect = async () => {
     // beatLength: Math.round((RuntimeUtils.getFixTime(detailState.times[0].beatSpeed) * 1000) / rate),
     beatLength: actualBeatLength,
     evaluationCriteria: getEvaluationCriteria(),
+    speedRate: parseFloat(runtime.basePlayRate.toFixed(2)), // 播放倍率
   }
   // console.log("🚀 ~ content:", content, rate)
   const clientType = useClientType()
@@ -704,6 +705,7 @@ const evaluatStart = () => {
       content: {
         accompanimentState: SettingState.eva.mute ? 1 : 0,
         firstNoteTime: calculateInfo.firstNoteTime || 0,
+        speedRate: parseFloat(runtime.basePlayRate.toFixed(2)), // 播放倍率
       }
     },
     () => {

+ 4 - 3
src/subpages/colexiu/buttons/index.tsx

@@ -108,7 +108,7 @@ export const onChangeModelType = (type: IModelType) => {
     metronomeData.cursorMode = 1
   }
   if (type === 'evaluation') {
-    RuntimeUtils.changeSpeed(detailState.activeDetail?.originalSpeed, false)
+    // RuntimeUtils.changeSpeed(detailState.activeDetail?.originalSpeed, false)
     // 评测模式
     runtime.evaluatingStatus = true
     modelType.value = type
@@ -419,7 +419,7 @@ export default defineComponent({
                 overlay={false}
                 placement="bottom"
                 class={styles.popover}
-                show={show.value && runtime.speedShow && !(runtime.evaluatingStatus || runtime.playState === 'play')}
+                show={show.value && runtime.speedShow && !(runtime.playState === 'play')}
                 // @ts-ignore
                 onUpdate:show={(show: boolean) => (runtime.speedShow = show)}
                 vSlots={{
@@ -427,7 +427,8 @@ export default defineComponent({
                     <Button
                       data-step="m4"
                       class={[styles.button, styles.hasText, styles.speedButton]}
-                      disabled={runtime.evaluatingStatus || runtime.playState === 'play'}
+                      // disabled={runtime.evaluatingStatus || runtime.playState === 'play'}
+                      disabled={runtime.playState === 'play'}
                       onClick={() => {
                         speedRef.value?.refUpdateSpeed(runtime.playIngSpeed || runtime.speed)
                         runtime.speedShow = !runtime.speedShow

+ 3 - 0
src/subpages/colexiu/popups/evaluating/index.tsx

@@ -9,6 +9,8 @@ import SettingState from '/src/pages/detail/setting-state'
 import { IPostMessage, postMessage } from '/src/helpers/native-message'
 import detailState from '/src/pages/detail/state'
 import { browser } from '/src/helpers/utils'
+import runtime, * as RuntimeUtils from '/src/pages/detail/runtime'
+
 export const evaluatingShow = ref<boolean>(false)
 const open = ref(false)
 
@@ -102,6 +104,7 @@ export default defineComponent({
             recordId: String(props.data?.recordIdStr),
             title: detailState.activeDetail?.musicSheetName || "曲谱演奏",
             coverImg: detailState.activeDetail?.titleImg || '',
+            speedRate: parseFloat(runtime.basePlayRate.toFixed(2)), // 播放倍率
           });
         }
       }