瀏覽代碼

fix: 节拍器bug修复

TIANYONG 11 月之前
父節點
當前提交
46cbb41b34
共有 2 個文件被更改,包括 28 次插入21 次删除
  1. 2 2
      src/view/music-score/index.tsx
  2. 26 19
      src/view/tick/index.tsx

+ 2 - 2
src/view/music-score/index.tsx

@@ -115,14 +115,14 @@ export default defineComponent({
 			// }
 			// }
 			//osmd.EngravingRules.PageBottomMargin = state.platform === IPlatform.PC ? 1 : 2;
 			//osmd.EngravingRules.PageBottomMargin = state.platform === IPlatform.PC ? 1 : 2;
 			if (state.isSimplePage) {
 			if (state.isSimplePage) {
-				osmd.EngravingRules.PageTopMargin = 0;
+				osmd.EngravingRules.PageTopMargin = state.musicRenderType === 'staff' ? 0 : 3;
 				osmd.EngravingRules.PageTopMarginNarrow = 0;
 				osmd.EngravingRules.PageTopMarginNarrow = 0;
 				osmd.EngravingRules.PageLeftMargin = 0;
 				osmd.EngravingRules.PageLeftMargin = 0;
 				osmd.EngravingRules.PageRightMargin = 0;
 				osmd.EngravingRules.PageRightMargin = 0;
 				osmd.EngravingRules.BreathMarkDistance = 0.1; 
 				osmd.EngravingRules.BreathMarkDistance = 0.1; 
 				osmd.EngravingRules.PageBottomMargin = 0;
 				osmd.EngravingRules.PageBottomMargin = 0;
 			} else {
 			} else {
-				osmd.EngravingRules.PageTopMargin = 2; // 老师端顶部间距
+				osmd.EngravingRules.PageTopMargin = 3; // 顶部间距
 				osmd.EngravingRules.PageTopMarginNarrow = 3;
 				osmd.EngravingRules.PageTopMarginNarrow = 3;
 				osmd.EngravingRules.PageLeftMargin = 2;
 				osmd.EngravingRules.PageLeftMargin = 2;
 				osmd.EngravingRules.PageRightMargin = 2;
 				osmd.EngravingRules.PageRightMargin = 2;

+ 26 - 19
src/view/tick/index.tsx

@@ -36,27 +36,34 @@ export function closeTick(){
 		tickData.show = false
 		tickData.show = false
 	}
 	}
 }
 }
+const tickPlayCb = (i: any, resolve: any, source: any) => {
+	if (tickData.tickEnd) {
+		resolve(i)
+		return
+	};
+	tickData.index++;
+	// 当系统节拍器才播放声音
+	if (source && isUseSystemBeat.value) {
+		const beatVolume = state.setting.beatVolume / 100
+		source.volume = beatVolume;
+		if (source.volume <= 0) {
+			source.muted = true
+		} else {
+			source.muted = false
+		}
+		source.play();
+	}
+	resolve(i);
+}
 const handlePlay = (i: number, source: any | null) => {
 const handlePlay = (i: number, source: any | null) => {
 	return new Promise((resolve) => {
 	return new Promise((resolve) => {
-		_time=setTimeout(() => {
-			if (tickData.tickEnd) {
-				resolve(i)
-				return
-			};
-			tickData.index++;
-			// 当系统节拍器才播放声音
-			if (source && isUseSystemBeat.value) {
-				const beatVolume = state.setting.beatVolume / 100
-				source.volume = beatVolume;
-				if (source.volume <= 0) {
-					source.muted = true
-				} else {
-					source.muted = false
-				}
-				source.play();
-			}
-			resolve(i);
-		}, tickData.beatLengthInMilliseconds);
+		if (i === 0 ) {
+			tickPlayCb(i, resolve, source);
+		} else {
+			_time=setTimeout(() => {
+				tickPlayCb(i, resolve, source);
+			}, tickData.beatLengthInMilliseconds);
+		}
 	});
 	});
 };
 };