瀏覽代碼

Merge branch 'feature-tianyong-newVersion' into ktyq-test-new

TIANYONG 11 月之前
父節點
當前提交
d03bb14179

+ 9 - 4
src/helpers/metronome.ts

@@ -286,14 +286,19 @@ class Metronome {
 			const measureListIndex = note?.noteElement?.sourceMeasure?.measureListIndex;
 			if (measureNumberXML > -1) {
 				if (measureNumberXML != xmlNumber) {
+					// 弱起的时候 根据音符结尾时间减去音符开头时间,得到的不是正常小节的时间,然后平均分配节拍之后,当前节拍间隔会非常短 这里弱起拿正常
+					// 妙极客的弱起不受这个影响
+					let startTime = note.measures[0].time
+					if(!state.isEvxml && i === 0){
+						startTime = note.measures[note.measures.length - 1].endtime - note.measures[0].measureLength
+					}
 					const m = {
 						measureNumberXML: measureNumberXML,
 						measureNumberIndex: measureListIndex,
 						numerator: note?.noteElement?.sourceMeasure?.ActiveTimeSignature?.numerator || 0,
-						start: note.measures[0].time,
+						start: startTime,
 						end: note.measures[note.measures.length - 1].endtime,
-						// bug todo  弱起的时候 根据音符结尾时间减去音符开头时间,得到的不是正常小节的时间,然后平均分配节拍之后,当前节拍间隔会非常短
-						time: note.measures[note.measures.length - 1].endtime - note.measures[0].time,
+						time: note.measures[note.measures.length - 1].endtime - startTime,
 						stave_x: note?.noteElement?.sourceMeasure?.verticalMeasureList?.[0]?.stave?.x || 0,
 						end_x: note?.stave?.end_x || 0 || 0,
 						stepList: [] as number[],
@@ -385,7 +390,7 @@ class Metronome {
 		} catch (error) {
 			console.log(error);
 		}
-		// console.log('节拍器',metroList, metroMeasure);
+		console.log('节拍器',metroList, metroMeasure);
 		// 5.得到所有的节拍时间
 		metronomeData.metroList = metroList;
 		metronomeData.metroMeasure = metroMeasure;

+ 2 - 1
src/page-instrument/evaluat-model/index.tsx

@@ -454,6 +454,7 @@ export default defineComponent({
         if (val) {
           headTopData.settingMode = false
           api_startDelayCheck({});
+          state.setting.soundEffect = false
         }
       }
     );
@@ -474,7 +475,7 @@ export default defineComponent({
       // 如果打开了延迟检测开关,需要先发送开始检测的消息
       const delayData = await api_getDeviceDelay();
       console.log('设备的延迟值',delayData.content?.value)
-      if (state.setting.soundEffect || (delayData && delayData.content?.value <= 0)) {
+      if (delayData && delayData.content?.value <= 0) {
         await api_startDelayCheck({});
       } else {
         evaluatingData.checkEnd = true;

+ 1 - 1
src/page-instrument/view-detail/index.module.less

@@ -74,7 +74,7 @@
         overflow: hidden;
     }
     .pcContainer {
-        height: calc(100vh - var(--header-height) - var(--pc-header-height));
+        // height: calc(100vh - var(--header-height) - var(--pc-header-height));
     }
     .fingeringCon{
         transition: scale 0.2s;

+ 1 - 0
src/page-instrument/view-detail/index.tsx

@@ -277,6 +277,7 @@ export default defineComponent({
 
       evaluatCreateMusicPlayer();
       resetPlaybackToStart();
+      // 需要重新设置作业选段
       if (state.workSectionNeedReset) {
         resetSection();
       }

+ 1 - 1
src/state.ts

@@ -662,6 +662,7 @@ const handlePlaying = () => {
   const currentTime = getAudioCurrentTime();
   const duration = getAudioDuration();
   state.playProgress = (currentTime / duration) * 100;
+  console.log('mp3时间',currentTime)
   let item = getNote(currentTime);
   if (item) {
     // 选段状态下
@@ -1675,7 +1676,6 @@ export const addNoteBBox = (list: any[]) => {
       } : null;
       voicesBBox = currentVoicesBBox;
     }
-    //  todo  连续修止小节bug
     note.bbox = bbox;
   }
 }

+ 0 - 1
src/view/audio-list/index.tsx

@@ -241,7 +241,6 @@ export default defineComponent({
 		// 监听评测曲谱音频播放进度,返回
 		const progress = (res: any) => {
 			const currentTime = res?.currentTime || res?.content?.currentTime;
-			// console.log('app进度时间',currentTime)
 			const total = res?.totalDuration || res?.content?.totalDuration;
 			const time = currentTime / 1000;
 			audioData.progress = time;

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

@@ -138,6 +138,10 @@ export default defineComponent({
 				(window as any).sett = {
 					keySignature: true,
 				};
+			} else {
+				(window as any).sett = {
+					keySignature: false,
+				};
 			}
 			osmd.EngravingRules.DYMusicScoreId = state.examSongId || ''
 			osmd.EngravingRules.DYCustomRepeatCount = state.maxLyricNum || 0;
@@ -161,7 +165,7 @@ export default defineComponent({
 		};
 		onMounted(async () => {
 			getContainerWidth();
-			setRenderType();
+			//setRenderType();
 			await getXML();
 			await init();
 			musicData.isRenderLoading = false;
@@ -200,7 +204,7 @@ export default defineComponent({
 			// 在下一帧再执行,确保出现loading
 			requestAnimationFrame(async ()=>{
 				getContainerWidth();
-				setRenderType();
+				//setRenderType();
 				await getXML();
 				await init();
 				musicData.isRenderLoading = false;