瀏覽代碼

fix: 延迟检测耳机状态优化

TIANYONG 1 年之前
父節點
當前提交
2b76fa5a51

+ 2 - 2
src/helpers/customMusicScore.ts

@@ -26,7 +26,7 @@ interface IMusicList {
 const container = ref();
 const container = ref();
 
 
 /** 曲谱配置: 重叠 */
 /** 曲谱配置: 重叠 */
-const resetGivenFormate = () => {
+export const resetGivenFormate = () => {
 	interface IItem {
 	interface IItem {
 		id?: string
 		id?: string
 		y?: number
 		y?: number
@@ -155,7 +155,7 @@ const resetGivenFormate = () => {
 };
 };
 
 
 // 谱面优化
 // 谱面优化
-const resetFormate = () => {
+export const resetFormate = () => {
 	container.value = document.getElementById('scrollContainer')
 	container.value = document.getElementById('scrollContainer')
 	if (state.extStyleConfigJson || !container.value) return;
 	if (state.extStyleConfigJson || !container.value) return;
 	const stafflines: SVGAElement[] = Array.from((container.value as HTMLElement).querySelectorAll(".staffline"));
 	const stafflines: SVGAElement[] = Array.from((container.value as HTMLElement).querySelectorAll(".staffline"));

+ 9 - 0
src/page-instrument/evaluat-model/delay-check/index.module.less

@@ -260,4 +260,13 @@
         line-height: 30px;
         line-height: 30px;
         cursor: pointer;
         cursor: pointer;
     }
     }
+}
+
+.delayTest {
+    background: burlywood;
+    width: 200px;
+    height: 200px;
+    color: #000;
+    z-index: 999;
+    position: relative;
 }
 }

+ 4 - 0
src/page-instrument/evaluat-model/delay-check/index.tsx

@@ -201,6 +201,9 @@ export default defineComponent({
 		};
 		};
 
 
 		const resetCheck = () => {
 		const resetCheck = () => {
+			if (data.step > 5 && evaluatingData.accompanyErrorType === 'playError') {
+				return
+			}
 			api_toggleTune("stop");
 			api_toggleTune("stop");
 			clearTimeout(startTuneTimer)
 			clearTimeout(startTuneTimer)
 			clearTimeout(data.startAbnormalTimer);
 			clearTimeout(data.startAbnormalTimer);
@@ -229,6 +232,7 @@ export default defineComponent({
 			>
 			>
 				<div class={styles.delayBox}>
 				<div class={styles.delayBox}>
 					{/*返回按钮*/}
 					{/*返回按钮*/}
+					{/* <div class={styles.delayTest}>步骤:{data.step}{evaluatingData.accompanyErrorType}</div> */}
 					<img class={styles.delayBackBtn} src={iconBack} onClick={() => {
 					<img class={styles.delayBackBtn} src={iconBack} onClick={() => {
 						clearTimeout(startTuneTimer)
 						clearTimeout(startTuneTimer)
 						api_toggleTune("stop");
 						api_toggleTune("stop");

+ 4 - 0
src/view/evaluating/index.tsx

@@ -96,6 +96,8 @@ export const evaluatingData = reactive({
 	delayCheckSocketError: false,
 	delayCheckSocketError: false,
 	/** 异常状态,不生成评测记录,不调用保存接口 */
 	/** 异常状态,不生成评测记录,不调用保存接口 */
 	isErrorState: false,
 	isErrorState: false,
+	/** accompanyError,错误类型 */
+	accompanyErrorType: '',	
 });
 });
 
 
 /** 点击开始评测按钮 */
 /** 点击开始评测按钮 */
@@ -521,6 +523,7 @@ const handleAccompanyError = (res?: IPostMessage) => {
 					evaluatingData.socketErrorStatus = 0
 					evaluatingData.socketErrorStatus = 0
 					evaluatingData.delayCheckSocketError = true
 					evaluatingData.delayCheckSocketError = true
 					evaluatingData.socketErrorPop = type === "socketError" ? true : false
 					evaluatingData.socketErrorPop = type === "socketError" ? true : false
+					evaluatingData.accompanyErrorType = type
 					// api_checkSocketStatus()
 					// api_checkSocketStatus()
 					return
 					return
 				}
 				}
@@ -531,6 +534,7 @@ const handleAccompanyError = (res?: IPostMessage) => {
 				evaluatingData.socketErrorStatus = 0
 				evaluatingData.socketErrorStatus = 0
 				evaluatingData.socketErrorPop = type === "socketError" ? true : false
 				evaluatingData.socketErrorPop = type === "socketError" ? true : false
 				evaluatingData.isErrorState = true
 				evaluatingData.isErrorState = true
+				evaluatingData.accompanyErrorType = type
 				resetPlaybackToStart();
 				resetPlaybackToStart();
 				break;	
 				break;	
 			case "recordError":
 			case "recordError":

+ 3 - 0
src/view/music-score/index.tsx

@@ -7,6 +7,7 @@ import Selection from "../selection";
 import styles from "./index.module.less";
 import styles from "./index.module.less";
 import queryString from "query-string";
 import queryString from "query-string";
 import { getGradualLengthByXml } from "/src/helpers/calcSpeed";
 import { getGradualLengthByXml } from "/src/helpers/calcSpeed";
+import { resetFormate, resetGivenFormate } from "/src/helpers/customMusicScore"
 
 
 export const musicRenderTypeKey = "musicRenderType";
 export const musicRenderTypeKey = "musicRenderType";
 
 
@@ -100,6 +101,8 @@ export default defineComponent({
 			osmd.render();
 			osmd.render();
 			// console.log("🚀 ~ osmd:", osmd)
 			// console.log("🚀 ~ osmd:", osmd)
 			emit("rendered", osmd);
 			emit("rendered", osmd);
+			resetFormate();
+			resetGivenFormate();
 			musicData.showSelection = true;
 			musicData.showSelection = true;
 		};
 		};
 		/** 获取渲染容器的宽度 */
 		/** 获取渲染容器的宽度 */