|
@@ -3,7 +3,7 @@ import { connectWebsocket, evaluatingData, handleEndBegin, handleStartBegin, han
|
|
|
import Earphone from "./earphone";
|
|
|
import styles from "./index.module.less";
|
|
|
import SoundEffect from "./sound-effect";
|
|
|
-import state, { handleRessetState, resetPlaybackToStart, musicalInstrumentCodeInfo, clearSelection } from "/src/state";
|
|
|
+import state, { handleRessetState, resetPlaybackToStart, musicalInstrumentCodeInfo, clearSelection, initSetPlayRate } from "/src/state";
|
|
|
import { storeData } from "/src/store";
|
|
|
import { browser } from "/src/utils";
|
|
|
import { getNoteByMeasuresSlursStart } from "/src/helpers/formateMusic";
|
|
@@ -196,7 +196,7 @@ export default defineComponent({
|
|
|
const note = getNoteByMeasuresSlursStart(item);
|
|
|
// #8701 bug: 评测模式,是以曲谱本身的速度进行评测,所以rate取1,不需要转换
|
|
|
// const rate = state.speed / state.originSpeed;
|
|
|
- const rate = 1;
|
|
|
+ const rate = state.basePlayRate * state.originAudioPlayRate; // 播放倍率
|
|
|
const difftime = item.difftime;
|
|
|
const start = difftime + (item.sourceRelativeTime || item.relativeTime) - starTime;
|
|
|
const end = difftime + (item.sourceRelaEndtime || item.relaEndtime) - starTime;
|
|
@@ -261,8 +261,9 @@ export default defineComponent({
|
|
|
/** 连接websocket */
|
|
|
const handleConnect = async () => {
|
|
|
const behaviorId = localStorage.getItem("behaviorId") || localStorage.getItem("BEHAVIORID") || undefined;
|
|
|
- let rate = state.speed / state.originSpeed;
|
|
|
- rate = parseFloat(rate.toFixed(2));
|
|
|
+ // let rate = state.speed / state.originSpeed;
|
|
|
+ const rate = state.basePlayRate * state.originAudioPlayRate; // 播放倍率
|
|
|
+ // rate = parseFloat(rate.toFixed(2));
|
|
|
console.log("速度比例", rate, "速度", state.speed);
|
|
|
calculateInfo = formatTimes();
|
|
|
const content = {
|
|
@@ -282,7 +283,7 @@ export default defineComponent({
|
|
|
// beatLength: Math.round((state.fixtime * 1000) / rate),
|
|
|
beatLength: actualBeatLength,
|
|
|
evaluationCriteria: state.evaluationStandard,
|
|
|
- speedRate: rate, // 播放倍率
|
|
|
+ speedRate: parseFloat(rate.toFixed(2)), // 播放倍率
|
|
|
};
|
|
|
await connectWebsocket(content);
|
|
|
// state.playSource = "music";
|
|
@@ -296,15 +297,14 @@ export default defineComponent({
|
|
|
resetPlaybackToStart();
|
|
|
return;
|
|
|
} else if (evaluatingData.resultData?.recordIdStr || evaluatingData.resultData?.recordId) {
|
|
|
- let rate = state.speed / state.originSpeed;
|
|
|
- rate = parseFloat(rate.toFixed(2));
|
|
|
+ const rate = state.basePlayRate * state.originAudioPlayRate; // 播放倍率
|
|
|
// 上传云端
|
|
|
// evaluatModel.evaluatUpdateAudio = true;
|
|
|
api_openAdjustRecording({
|
|
|
recordId: evaluatingData.resultData?.recordIdStr || evaluatingData.resultData?.recordId,
|
|
|
title: state.examSongName || "曲谱演奏",
|
|
|
coverImg: state.coverImg,
|
|
|
- speedRate: rate, // 播放倍率
|
|
|
+ speedRate: parseFloat(rate.toFixed(2)), // 播放倍率
|
|
|
musicRenderType: state.musicRenderType,
|
|
|
musicSheetId: state.examSongId,
|
|
|
'part-index': state.partIndex
|
|
@@ -390,6 +390,7 @@ export default defineComponent({
|
|
|
});
|
|
|
}
|
|
|
// console.log('异常流程3')
|
|
|
+ initSetPlayRate();
|
|
|
// 检测APP端socket状态
|
|
|
const res: any = await startCheckDelay();
|
|
|
if (res?.checked) {
|
|
@@ -445,6 +446,7 @@ export default defineComponent({
|
|
|
onMounted(async () => {
|
|
|
// 如果打开了延迟检测开关,需要先发送开始检测的消息
|
|
|
const delayData = await api_getDeviceDelay();
|
|
|
+ console.log('设备的延迟值',delayData.content?.value)
|
|
|
if (state.setting.soundEffect || (delayData && delayData.content?.value < 0)) {
|
|
|
await api_startDelayCheck({});
|
|
|
} else {
|