Procházet zdrojové kódy

feat: 增加音频加载完成状态

TIANYONG před 1 rokem
rodič
revize
33b2c1256f
2 změnil soubory, kde provedl 8 přidání a 0 odebrání
  1. 7 0
      src/state.ts
  2. 1 0
      src/view/audio-list/index.tsx

+ 7 - 0
src/state.ts

@@ -440,6 +440,8 @@ const state = reactive({
   /** midi音频的时长 */
   durationNum: 0,
   midiSectionStart: 0,
+  /** 音频文件是否加载完成 */
+  audioDone: false,
 });
 const browserInfo = browser();
 let offset_duration = 0;
@@ -614,6 +616,11 @@ export const skipNotePlay = async (itemIndex: number, isStart = false) => {
  * @param playState 可选: 默认 undefined, 需要切换的状态 play:播放, paused: 暂停
  */
 export const togglePlay = async (playState?: "play" | "paused") => {
+  // 如果mp3资源还在加载中,给出提示
+  if (!state.isAppPlay && !state.audioDone) {
+    showToast('音频资源加载中,请稍后')
+    return
+  }
   // midi播放
   if (state.isAppPlay) {
     if( playState === "paused" ) {

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

@@ -207,6 +207,7 @@ export default defineComponent({
 			if (state.playMode !== "MIDI") {
 				Promise.all([createAudio(state.music), createAudio(state.accompany)]).then(
 					([music, accompany]) => {
+						state.audioDone = true;
 						// console.log(music, accompany);
 						if (music) {
 							audioData.songEle = music;