浏览代码

feat: 增加是否使用原生评测服务字段

TIANYONG 1 周之前
父节点
当前提交
e9cbba9b87
共有 3 个文件被更改,包括 13 次插入2 次删除
  1. 1 0
      src/page-instrument/component/the-music-list/list.tsx
  2. 11 1
      src/state.ts
  3. 1 1
      src/view/plugins/toggleMusicSheet/index.tsx

+ 1 - 0
src/page-instrument/component/the-music-list/list.tsx

@@ -83,6 +83,7 @@ export default defineComponent({
       if (item.id === state.examSongId) return;
       // 暂停播放
       togglePlay("paused");
+      state.evaluatAudioInitDone = false
       postMessage({
         api: "cloudLoading",
         content: {

+ 11 - 1
src/state.ts

@@ -26,6 +26,7 @@ import { HANDLE_WORK_ADD } from "/src/page-instrument/custom-plugins/work-index"
 import { speedBeatTo, unitImgs } from "/src/helpers/beatConfig"
 import IndexedDBService from "/src/utils/indexedDB";
 import { musicalInstrumentCodeInfo, instruments, fixInstrumentNameCode } from "/src/constant/instruments";
+import evaluatModel from "./page-instrument/evaluat-model";
 
 const query: any = getQuery();
 
@@ -389,6 +390,10 @@ const state = reactive({
   isSingleMutliTrack: false,
   /** 是否是来源于缓存的xml */
   xmlFromStore: false,
+  /** 是否已经初始化评测音频,只有切了声轨后,才需要重新传音频,普通的切谱面(五线谱、简谱;单行谱、多行谱等)不需要重复传 */
+  evaluatAudioInitDone: false,
+  /** 是否使用原生评测服务 */
+  useNativeEvaluation: false,
 });
 const browserInfo = browser();
 let offset_duration = 0;
@@ -1241,12 +1246,17 @@ export default state;
 
 /** 初始化评测音频 */
 export const evaluatCreateMusicPlayer = () => {
-  return api_createMusicPlayer({
+  if (state.evaluatAudioInitDone) {
+    return;
+  }
+  api_createMusicPlayer({
     musicSrc: state.accompany || state.music, // 曲谱音频url
     // tuneSrc: "https://oss.dayaedu.com/cloud-coach/1686725501654check_music1_(1).mp3", //效音音频url
     tuneSrc: "https://oss.dayaedu.com/MECMP/1722593665681.mp3", //效音音频url
     checkFrequence: 496,
+    useNativeEvaluation: state.useNativeEvaluation // 是否使用原生评测服务
   });
+  state.evaluatAudioInitDone = true
 };
 
 

+ 1 - 1
src/view/plugins/toggleMusicSheet/index.tsx

@@ -91,7 +91,7 @@ export default defineComponent({
         })
       // const blob2 = new Blob([downloadXmlStr.value], { type: "text/html" });
       // console.log(_url,xmlDocRef.value,downloadXmlStr.value)
-      
+      state.evaluatAudioInitDone = false
       await storeXmlData()
       location.href = _url
     }