瀏覽代碼

评测伴奏声音

liushengqiang 2 年之前
父節點
當前提交
f9fbec496e
共有 3 個文件被更改,包括 20 次插入5 次删除
  1. 1 1
      src/state.ts
  2. 3 3
      src/view/audio-list/index.tsx
  3. 16 1
      src/view/evaluating/index.tsx

+ 1 - 1
src/state.ts

@@ -121,7 +121,7 @@ const state = reactive({
 		/** 保存到相册 */
 		saveToAlbum: false,
 		/** 开启伴奏 */
-		enableAccompaniment: false,
+		enableAccompaniment: true,
 		/** 反应时间 */
 		reactionTimeMs: 0,
 	},

+ 3 - 3
src/view/audio-list/index.tsx

@@ -66,14 +66,14 @@ export const setAudioCurrentTime = (time: number, index = 0) => {
 };
 
 /** 设置当前没有播放的音频静音 */
-export const toggleMutePlayAudio = (source: IPlayState, muted: boolean) => {
+export const toggleMutePlayAudio = (source: IPlayState, volume: number) => {
 	if (source === "music") {
 		if (audioData.songEle) {
-			audioData.songEle.muted = muted;
+			audioData.songEle.volume = volume;
 		}
 	} else if (source === "background") {
 		if (audioData.backgroundEle) {
-			audioData.backgroundEle.muted = muted;
+			audioData.songEle.volume = volume;
 		}
 	}
 };

+ 16 - 1
src/view/evaluating/index.tsx

@@ -347,7 +347,9 @@ export default defineComponent({
 			/** 指法 */
 			finger: false,
 			/** 原音伴奏 */
-			play_mode: ''  as IPlayState
+			play_mode: ''  as IPlayState,
+			/** 评测是否要伴奏 */
+			enableAccompaniment: true
 		});
 		/** 记录状态 */
 		const hanlde_record = () => {
@@ -356,12 +358,25 @@ export default defineComponent({
 			state.setting.displayFingering = false;
 			// 切换为伴奏
 			record_old_data.play_mode = state.playSource
+			record_old_data.enableAccompaniment = state.setting.enableAccompaniment
+			// 如果关闭伴奏,评测静音
+			if (!state.setting.enableAccompaniment){
+				toggleMutePlayAudio('music', 0)
+				toggleMutePlayAudio('background', 0)
+			}
 		};
 		/** 还原状态 */
 		const handle_reduction = () => {
 			// 还原指法
 			state.setting.displayFingering = record_old_data.finger;
 			state.playSource = record_old_data.play_mode
+
+			// 如果关闭伴奏, 结束评测取消静音
+			if (!record_old_data.enableAccompaniment){
+				toggleMutePlayAudio('music', 1)
+				toggleMutePlayAudio('background', 1)
+			}
+
 		};
 
 		watch(pageVisibility, (value) => {