ソースを参照

Merge branch 'feature-pc-choose' into gyt-dev

TIANYONG 1 年間 前
コミット
96106d455e

+ 3 - 2
src/pages/detail/runtime.ts

@@ -402,7 +402,7 @@ export const initSetPlayRate = () => {
 const dynamicShowPlaySpeed = (index: number) => {
   const item: any = detailState.times[index];
 
-  if (item && modelType.value === "practice" && state.playState === "play" && item.measureSpeed ) {
+  if (item && state.playState === "play" && item.measureSpeed ) {
     state.playIngSpeed = Math.floor(state.basePlayRate * item.measureSpeed)
   }
 }
@@ -494,6 +494,7 @@ export const refreshPlayer = async (ctime?: number) => {
       return false
     }
     const isNext = nextTime()
+    // console.log('选段123',detailState.section,detailState.sectionStatus)
     // 选段播放结束
     if (isNext) {
       // console.log("isNext", detailState.section[1], detailState.section[1].endtime, currentTimeNum)
@@ -1049,7 +1050,7 @@ export const setAudioInit = () => {
     const time = res?.content.currentTime / 1000
     const diffTime = res?.content?.currentTime - preAppAudioPlayTime;
     preAppAudioPlayTime = res?.content?.currentTime
-    console.log('app返回的mp3进度',time)
+    // console.log('app返回的mp3进度',time)
     if (diffTime < 0) {
       console.log('进度返回异常','本次时间比上次慢',diffTime,'当前播放时间:',res?.content?.currentTime)
       return

+ 2 - 0
src/subpages/colexiu-report/index.tsx

@@ -205,6 +205,8 @@ export default defineComponent({
       })
       runtime.osmd = osmd
       allNote.value = getAllNodes(runtime.osmd)
+      const startMeasureNum = record.value?.musicalNotesPlayStats?.notesData?.[0].measureRenderIndex, endMeasureNum = record.value?.musicalNotesPlayStats?.notesData?.last()?.measureRenderIndex;
+      allNote.value = allNote.value.filter((item: any) => (item.measureNumberPrinted >= startMeasureNum+1 && item.measureNumberPrinted <= endMeasureNum+1))
       setViewColor()
       const setEvaluatings = (note: any, data: any, dontTransition = true) => {
         const startNote = getBoundingBoxByverticalNote(note)

+ 8 - 1
src/subpages/colexiu/buttons/evaluating.tsx

@@ -344,7 +344,14 @@ const formatTimes = () => {
       (n: any) => n.NoteToGraphicalNoteObjectId == detailState.section[1].NoteToGraphicalNoteObjectId
     )
     if (startIndex > 1) {
-      preTime = detailState.times[startIndex-1].time * 1000
+      // 预备小节的小节数
+      const preMeasureNum = detailState.times[startIndex-1].measureNumberPrinted;
+      // 预备小节的第一个音符的索引
+      let preNoteNum = startIndex-1;
+      while (preMeasureNum === detailState.times[preNoteNum].measureNumberPrinted && preNoteNum >= 1 && preMeasureNum === detailState.times[preNoteNum-1].measureNumberPrinted) {
+        preNoteNum -= 1;
+      }
+      preTime = detailState.times[preNoteNum].time * 1000
     }
     times = detailState.times.filter((n: any, index: number) => {
       return index >= startIndex && index <= endIndex

+ 3 - 2
src/subpages/colexiu/unitTest/index.tsx

@@ -86,8 +86,9 @@ export default defineComponent({
         (n: any) => n.noteElement.sourceMeasure.MeasureNumberXML == questionExtendsInfo.value.end
       )
       const startNote = startNotes[0]
-      const endNote = endNotes[endNotes.length - 1]
-      //   console.log('🚀 ~ activeNote', startNote, endNote, questionExtendsInfo.value.end)
+      // const endNote = endNotes[endNotes.length - 1]
+      const endNote = endNotes[0]
+      // console.log('🚀 ~ activeNote', startNote, endNote, questionExtendsInfo.value.end)
       if (startNote && endNote) {
         unitTestData.isSelectMeasureMode = true
         // 设置小节