|
@@ -48,6 +48,10 @@ export const headTopData = reactive({
|
|
showBack: true,
|
|
showBack: true,
|
|
/** 设置弹窗 */
|
|
/** 设置弹窗 */
|
|
settingMode: false,
|
|
settingMode: false,
|
|
|
|
+ /* 节奏律动 */
|
|
|
|
+ rhythmMode: false,
|
|
|
|
+ // 节奏律动方向
|
|
|
|
+ rhythmModeDirection: computed(()=> state.fingeringInfo.direction === "transverse" ? "vertical" : "transverse"),
|
|
/** 切换模式 */
|
|
/** 切换模式 */
|
|
handleChangeModeType(value: "practise" | "follow" | "evaluating") {
|
|
handleChangeModeType(value: "practise" | "follow" | "evaluating") {
|
|
// 后台设置为不能评测
|
|
// 后台设置为不能评测
|
|
@@ -83,6 +87,8 @@ export const headTopData = reactive({
|
|
// state.isSingleLine = true;
|
|
// state.isSingleLine = true;
|
|
// refreshMusicSvg();
|
|
// refreshMusicSvg();
|
|
// }
|
|
// }
|
|
|
|
+ // 关闭节奏律动
|
|
|
|
+ headTopData.rhythmMode = false
|
|
smoothAnimationState.isShow.value = false; // 隐藏旋律线
|
|
smoothAnimationState.isShow.value = false; // 隐藏旋律线
|
|
state.playIngSpeed = state.originSpeed;
|
|
state.playIngSpeed = state.originSpeed;
|
|
handleStartEvaluat();
|
|
handleStartEvaluat();
|
|
@@ -91,6 +97,8 @@ export const headTopData = reactive({
|
|
// evaluatingData.rendered = true;
|
|
// evaluatingData.rendered = true;
|
|
// evaluatingData.soundEffectMode = true;
|
|
// evaluatingData.soundEffectMode = true;
|
|
} else if (value === "follow") {
|
|
} else if (value === "follow") {
|
|
|
|
+ // 关闭节奏律动
|
|
|
|
+ headTopData.rhythmMode = false
|
|
// 跟练模式,只有一行谱模式
|
|
// 跟练模式,只有一行谱模式
|
|
if (!state.isSingleLine) {
|
|
if (!state.isSingleLine) {
|
|
state.isSingleLine = true;
|
|
state.isSingleLine = true;
|
|
@@ -436,6 +444,33 @@ export default defineComponent({
|
|
};
|
|
};
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ /** 节奏律动 */
|
|
|
|
+ const rhythmBtn = computed(() => {
|
|
|
|
+ // 跟练和评测显示
|
|
|
|
+ if (["evaluating", "follow"].includes(state.modeType)) return { display: false, disabled: false, playIng: false };
|
|
|
|
+ // 播放过程中不让切换
|
|
|
|
+ if (state.playState == "play") {
|
|
|
|
+ if(headTopData.rhythmMode) {
|
|
|
|
+ return {
|
|
|
|
+ display: true,
|
|
|
|
+ disabled: true,
|
|
|
|
+ playIng: true
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ return {
|
|
|
|
+ display: true,
|
|
|
|
+ disabled: true,
|
|
|
|
+ playIng: false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ return {
|
|
|
|
+ display: true,
|
|
|
|
+ disabled: false,
|
|
|
|
+ playIng: false
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+
|
|
/** 重播按钮 */
|
|
/** 重播按钮 */
|
|
resetBtn = computed(() => {
|
|
resetBtn = computed(() => {
|
|
// 没有音源不显示
|
|
// 没有音源不显示
|
|
@@ -746,7 +781,7 @@ export default defineComponent({
|
|
}
|
|
}
|
|
|
|
|
|
{/* 模式提醒 */}
|
|
{/* 模式提醒 */}
|
|
- {state.modeType === "practise" && (
|
|
|
|
|
|
+ {state.modeType === "practise" && !rhythmBtn.value.playIng && (
|
|
<div class={[styles.modeWarn, "practiseModeWarn", state.platform === IPlatform.PC && state.musicScoreBtnDirection === "left" ? styles.modeWarnRight : ""]}>
|
|
<div class={[styles.modeWarn, "practiseModeWarn", state.platform === IPlatform.PC && state.musicScoreBtnDirection === "left" ? styles.modeWarnRight : ""]}>
|
|
<img src={state.playType === "play" ? headImg("perform1.png") : headImg("sing1.png")} />
|
|
<img src={state.playType === "play" ? headImg("perform1.png") : headImg("sing1.png")} />
|
|
<div>{state.playType === "play" ? "演奏场景" : "演唱场景"}</div>
|
|
<div>{state.playType === "play" ? "演奏场景" : "演唱场景"}</div>
|
|
@@ -866,6 +901,16 @@ export default defineComponent({
|
|
<span>{state.playSource === "music" ? (state.playType === "play" ? "原声" : "范唱") : state.playSource === "background" ? (state.playType === "play" ? "伴奏" : "伴唱") : "唱名"}</span>
|
|
<span>{state.playSource === "music" ? (state.playType === "play" ? "原声" : "范唱") : state.playSource === "background" ? (state.playType === "play" ? "伴奏" : "伴唱") : "唱名"}</span>
|
|
</div>
|
|
</div>
|
|
<div
|
|
<div
|
|
|
|
+ style={{ display: rhythmBtn.value.display ? "" : "none" }}
|
|
|
|
+ class={["driver-777", styles.btn, styles.rhythmMode, headTopData.rhythmMode && styles.isrhythmMode, rhythmBtn.value.disabled && styles.disabled]}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ headTopData.rhythmMode = !headTopData.rhythmMode
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ <img class={styles.iconBtn} src={headImg(`rhythm.png`)} />
|
|
|
|
+ <span>律动</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
id={state.platform === IPlatform.PC ? "teacherTop-2" : "studnetT-2"}
|
|
id={state.platform === IPlatform.PC ? "teacherTop-2" : "studnetT-2"}
|
|
style={{ display: selectBtn.value.display ? "" : "none" }}
|
|
style={{ display: selectBtn.value.display ? "" : "none" }}
|
|
class={["driver-4", styles.btn, selectBtn.value.disabled && styles.disabled, styles.section, state.sectionStatus && styles.isSection]}
|
|
class={["driver-4", styles.btn, selectBtn.value.disabled && styles.disabled, styles.section, state.sectionStatus && styles.isSection]}
|
|
@@ -956,7 +1001,10 @@ export default defineComponent({
|
|
{/* 播放按钮 */}
|
|
{/* 播放按钮 */}
|
|
<div
|
|
<div
|
|
id="studnetT-7"
|
|
id="studnetT-7"
|
|
- style={{ display: playBtn.value.display ? "" : "none" }}
|
|
|
|
|
|
+ style={{
|
|
|
|
+ display: playBtn.value.display ? "" : "none" ,
|
|
|
|
+ opacity: rhythmBtn.value.playIng? "0.4" : "1"
|
|
|
|
+ }}
|
|
class={[
|
|
class={[
|
|
// 引导使用的类
|
|
// 引导使用的类
|
|
"driver-1",
|
|
"driver-1",
|