fix: Player switching

This commit is contained in:
Honey committed 2026-05-03 17:10:03 +02:00
1 parent 0d8b8b6f5d
commit 4b07203082
2 files changed
+6 -11

No files matched your search

+5 -9
View File
@@ -110,6 +110,7 @@ async function absCloseSession(sessionId) {
// ─── PLAYER INTERNALS ───
let _audio = null;
let _syncTimer = null;
let _absMiniVisible = false; // true = ABS bar covers the music player, only toggled on play start
let _sleepTimer = null;
let _sleepEndTime = null;
let _sleepTick = null;
@@ -119,7 +120,7 @@ function _getAudio() {
_audio = document.getElementById('abs-audio');
_audio.addEventListener('timeupdate', _onTimeUpdate);
_audio.addEventListener('ended', _onTrackEnded);
_audio.addEventListener('play', () => { S.absPlayer.playing = true; _renderControls(); _startSync(); });
_audio.addEventListener('play', () => { S.absPlayer.playing = true; _absMiniVisible = true; _renderControls(); _startSync(); });
_audio.addEventListener('pause', () => { S.absPlayer.playing = false; _renderControls(); _doSync(); });
}
return _audio;
@@ -263,12 +264,8 @@ export function absTogglePlay() {
export function absInterrupt() {
if (!S.absPlayer.item || !S.absPlayer.playing) return;
_getAudio().pause(); // triggers the pause listener which calls _doSync()
}
export function absOnMusicPause() {
// When music pauses, re-evaluate mini bar visibility (ABS bar should reappear)
if (S.absPlayer.item) _renderMiniBar();
_absMiniVisible = false; // music is taking over — hide ABS bar until ABS plays again
_getAudio().pause();
}
export function absSeek(globalTime) {
@@ -409,8 +406,7 @@ function _renderMiniBar() {
const ap = S.absPlayer;
const bar = document.getElementById('abs-mini-bar');
if (!bar) return;
// Hide when no ABS item loaded, or when music is actively playing
if (!ap.item || (S.audio && !S.audio.paused)) { bar.classList.remove('visible'); return; }
if (!ap.item || !_absMiniVisible) { bar.classList.remove('visible'); return; }
bar.classList.add('visible');
const meta = ap.item?.media?.metadata || {};
const cover = absCoverUrl(ap.item?.id);