|
@@ -1,7 +1,7 @@
|
|
import { computed, defineComponent, reactive, ref } from "vue";
|
|
import { computed, defineComponent, reactive, ref } from "vue";
|
|
-import state, { onEnded, onLoadedmetadata, onPlay, onTimeupdate } from "../../state";
|
|
|
|
import styles from "./index.module.less";
|
|
import styles from "./index.module.less";
|
|
import { getMidiCurrentTime, getMidiDuration, handleTogglePlayMidi, hanldeInitMidiData, hanldeSetMidiPlaybackRate, setMidiCurrentTime } from "./midiPlayer";
|
|
import { getMidiCurrentTime, getMidiDuration, handleTogglePlayMidi, hanldeInitMidiData, hanldeSetMidiPlaybackRate, setMidiCurrentTime } from "./midiPlayer";
|
|
|
|
+import state, { IPlayState, onEnded, onLoadedmetadata, onPlay, onTimeupdate } from "/src/state";
|
|
|
|
|
|
const audioData = reactive({
|
|
const audioData = reactive({
|
|
songEle: null as unknown as HTMLAudioElement,
|
|
songEle: null as unknown as HTMLAudioElement,
|
|
@@ -39,8 +39,8 @@ export const setAudioPlaybackRate = (rate: number) => {
|
|
export const getAudioCurrentTime = () => {
|
|
export const getAudioCurrentTime = () => {
|
|
// 如果是midi播放
|
|
// 如果是midi播放
|
|
if (audioData.midiRender) {
|
|
if (audioData.midiRender) {
|
|
- const c = getMidiCurrentTime()
|
|
|
|
- return c
|
|
|
|
|
|
+ const c = getMidiCurrentTime();
|
|
|
|
+ return c;
|
|
}
|
|
}
|
|
return audioData.songEle?.currentTime || audioData.backgroundEle?.currentTime || 0;
|
|
return audioData.songEle?.currentTime || audioData.backgroundEle?.currentTime || 0;
|
|
};
|
|
};
|
|
@@ -48,8 +48,8 @@ export const getAudioCurrentTime = () => {
|
|
export const getAudioDuration = () => {
|
|
export const getAudioDuration = () => {
|
|
// 如果是midi播放
|
|
// 如果是midi播放
|
|
if (audioData.midiRender) {
|
|
if (audioData.midiRender) {
|
|
- const d = getMidiDuration()
|
|
|
|
- return d
|
|
|
|
|
|
+ const d = getMidiDuration();
|
|
|
|
+ return d;
|
|
}
|
|
}
|
|
return audioData.songEle?.duration || audioData.backgroundEle?.duration || 0;
|
|
return audioData.songEle?.duration || audioData.backgroundEle?.duration || 0;
|
|
};
|
|
};
|
|
@@ -58,7 +58,7 @@ export const getAudioDuration = () => {
|
|
export const setAudioCurrentTime = (time: number, index = 0) => {
|
|
export const setAudioCurrentTime = (time: number, index = 0) => {
|
|
// 如果是midi播放
|
|
// 如果是midi播放
|
|
if (audioData.midiRender) {
|
|
if (audioData.midiRender) {
|
|
- setMidiCurrentTime(index)
|
|
|
|
|
|
+ setMidiCurrentTime(index);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
audioData.songEle && (audioData.songEle.currentTime = time);
|
|
audioData.songEle && (audioData.songEle.currentTime = time);
|
|
@@ -66,16 +66,24 @@ export const setAudioCurrentTime = (time: number, index = 0) => {
|
|
};
|
|
};
|
|
|
|
|
|
/** 设置当前没有播放的音频静音 */
|
|
/** 设置当前没有播放的音频静音 */
|
|
-export const toggleMutePlayAudio = () => {
|
|
|
|
- if(state.playSource === 'music'){
|
|
|
|
|
|
+export const toggleMutePlayAudio = (source: IPlayState, muted: boolean) => {
|
|
|
|
+ if (source === "music") {
|
|
if (audioData.songEle) {
|
|
if (audioData.songEle) {
|
|
- audioData.songEle.muted = !audioData.songEle.muted
|
|
|
|
|
|
+ audioData.songEle.muted = muted;
|
|
}
|
|
}
|
|
- } else if (state.playSource === 'background') {
|
|
|
|
|
|
+ } else if (source === "background") {
|
|
if (audioData.backgroundEle) {
|
|
if (audioData.backgroundEle) {
|
|
- audioData.backgroundEle.muted = !audioData.backgroundEle.muted
|
|
|
|
|
|
+ audioData.backgroundEle.muted = muted;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/** 检测音源数量 */
|
|
|
|
+export const detectTheNumberOfSoundSources = () => {
|
|
|
|
+ let total = 0
|
|
|
|
+ if (audioData.songEle) total += 1
|
|
|
|
+ if (audioData.backgroundEle) total += 1
|
|
|
|
+ return total
|
|
}
|
|
}
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|