diff --git a/src/views/open_live/MusicRequest.vue b/src/views/open_live/MusicRequest.vue index 62f0974..44c464d 100644 --- a/src/views/open_live/MusicRequest.vue +++ b/src/views/open_live/MusicRequest.vue @@ -37,7 +37,7 @@ import { SelectOption, useMessage, } from 'naive-ui' -import { computed, onMounted, onUnmounted, ref, watch } from 'vue' +import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue' import APlayer from 'vue3-aplayer' import { clearInterval, setInterval } from 'worker-timers' import MusicRequestOBS from '../obs/MusicRequestOBS.vue' @@ -357,7 +357,8 @@ function onMusicEnd() { currentOriginMusic.value = undefined setTimeout(() => { if (!settings.value.playMusicWhenFree) { - aplayer.value?.pause() + message.info('根据配置,已暂停播放音乐') + pauseMusic() } }, 10) } @@ -368,15 +369,16 @@ function playWaitingMusic(music: WaitMusicInfo) { if (index > -1) { waitingMusics.value.splice(index, 1) } - aplayer.value?.pause() + pauseMusic() currentOriginMusic.value = music - aplayer.value?.audio.addEventListener( - 'loadeddata', - () => { - aplayer.value?.play() - }, - { once: true }, - ) + nextTick(() => { + aplayer.value?.play() + }) +} +function pauseMusic() { + if (!aplayer.value?.audio.paused) { + aplayer.value?.pause() + } } function setSinkId() { try { diff --git a/src/views/open_live/OpenQueue.vue b/src/views/open_live/OpenQueue.vue index 29e44d8..4e90281 100644 --- a/src/views/open_live/OpenQueue.vue +++ b/src/views/open_live/OpenQueue.vue @@ -200,6 +200,9 @@ async function getAll() { } } async function add(danmaku: EventModel) { + if (!accountInfo.value?.settings.enableFunctions.includes(FunctionTypes.Queue)) { + return + } if (!checkMessage(danmaku)) { return } diff --git a/src/views/view/scheduleTemplate/PinkySchedule.vue b/src/views/view/scheduleTemplate/PinkySchedule.vue index 0d9ceb3..1acb5bd 100644 --- a/src/views/view/scheduleTemplate/PinkySchedule.vue +++ b/src/views/view/scheduleTemplate/PinkySchedule.vue @@ -52,7 +52,7 @@ onMounted(() => {