Bladeren bron

fix: 速度修改

TIANYONG 7 maanden geleden
bovenliggende
commit
4eec7691e8
3 gewijzigde bestanden met toevoegingen van 17 en 16 verwijderingen
  1. 1 0
      src/page-instrument/header-top/speed/index.tsx
  2. 4 4
      src/state.ts
  3. 12 12
      src/view/music-score/index.tsx

+ 1 - 0
src/page-instrument/header-top/speed/index.tsx

@@ -35,6 +35,7 @@ export default defineComponent({
 			() => speed.value,
 			() => {
 				// handleSetSpeed(speed.value);
+				//console.log('速度123',speed.value)
 				state.speed = Math.floor(speed.value);
 				// handleSetSpeed(speed.value);
 				if (state.playState === 'paused') {

+ 4 - 4
src/state.ts

@@ -671,7 +671,7 @@ export const onEnded = () => {
 
 // 根据当前小节动态设置,右上角展示的速度
 const dynamicShowPlaySpeed = (index: number, isPlaying?: boolean) => {
-  if (!headerColumnHide.value) {
+  //if (!headerColumnHide.value) {
     const item: any = state.times[index];
     if (state.sectionFirst && state.section.length === 2 && item.MeasureNumberXML === state.sectionFirst.MeasureNumberXML) {
       state.speed = Math.floor(state.section[0].measureSpeed * state.basePlayRate) || state.speed
@@ -684,7 +684,7 @@ const dynamicShowPlaySpeed = (index: number, isPlaying?: boolean) => {
         state.speed = newSpeed;
       }
     }
-  }
+  //}
 
 }
 
@@ -698,7 +698,7 @@ export const initSetPlayRate = () => {
   let item: any = (state.sectionStatus && state.section.length === 2) ? state.section[0] : state.times[state.activeNoteIndex];
   console.log('播放状态',state.playState)
   // 如果是选段,并且不是选段内的第一小节,取当前小节的速度
-  if (state.sectionStatus && state.section.length === 2 && state.times[state.activeNoteIndex].MeasureNumberXML !== state.section[0].MeasureNumberXML) {
+  if (state.sectionStatus && state.section.length === 2 && state.times[state.activeNoteIndex].MeasureNumberXML !== state.section[0].MeasureNumberXML && state.times[state.activeNoteIndex].MeasureNumberXML !== state.sectionFirst?.MeasureNumberXML) {
     item = state.times[state.activeNoteIndex];
   }
   if (item && item.measureSpeed) {
@@ -718,7 +718,7 @@ export const resetBaseRate = (idx?: number) => {
     currentItem = state.section[0];
   }
   const currentSpeed = currentItem?.measureSpeed ? currentItem.measureSpeed : state.originSpeed;
-  console.log('速度2',currentSpeed)
+  // console.log('速度2',currentSpeed)
   state.speed = currentSpeed
   //state.activeNoteIndex = 0
   state.basePlayRate = 1;

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

@@ -85,7 +85,7 @@ export default defineComponent({
 			const container = document.getElementById("musicAndSelection");
 			if (!container || !musicData.score) return;
 			setGlobalMusicSheet();
-			//if(!osmd){
+			if(!osmd){
 				osmd = new OpenSheetMusicDisplay(container, {
 					drawTitle: false,
 					drawSubtitle: false,
@@ -104,18 +104,18 @@ export default defineComponent({
 					// ...this.opotions,
 					colorStemsLikeNoteheads: true, // 是否将音符柄的颜色设置为与它们的音符头相同,默认false
 					// drawingParameters: "compact" // 使用紧凑布局
-					drawLyrics: (((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
-					drawPartNames: props.showPartNames, // 是否渲染声轨名称
-					defaultColorMusic: props.musicColor, // 颜色
-					renderSingleHorizontalStaffline: state.isSingleLine ? true : false
+					// drawLyrics: (((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
+					// drawPartNames: props.showPartNames, // 是否渲染声轨名称
+					// defaultColorMusic: props.musicColor, // 颜色
+					// renderSingleHorizontalStaffline: state.isSingleLine ? true : false
 				});
-			//}
-			// osmd.setOptions({
-			// 	drawLyrics: (((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
-			// 	drawPartNames: props.showPartNames, // 是否渲染声轨名称
-			// 	defaultColorMusic: props.musicColor, // 颜色
-			// 	renderSingleHorizontalStaffline: state.isSingleLine ? true : false
-			// })
+			}
+			osmd.setOptions({
+				drawLyrics: (((!state.accompany && !state.music ) || state.playType === 'sing' || !state.isEvxml) && !state.isSimplePage) ? true : false, // 演唱模式才渲染歌词,simple页面不显示歌词
+				drawPartNames: props.showPartNames, // 是否渲染声轨名称
+				defaultColorMusic: props.musicColor, // 颜色
+				renderSingleHorizontalStaffline: state.isSingleLine ? true : false
+			})
 			// osmd.EngravingRules.CompactMode = true // 紧凑模式
 			// osmd.EngravingRules.PageRightMargin = state.isSingleLine ? (window.innerWidth+200)/10 : 2;
 			// osmd.EngravingRules.FixedMeasureWidth = state.isSingleLine ? true : false; // 是否固定小节的宽度(小节同一宽度渲染)