fix: pwa changes
This commit is contained in:
1 parent
89abc81875
commit
a5959b19b8
3 files changed
+10
-2
No files matched your search
+2
-1
@@ -118,7 +118,8 @@ window.addEventListener('load', () => {
|
|||||||
S.audio.addEventListener('pause', () => {
|
S.audio.addEventListener('pause', () => {
|
||||||
setPlayIcon(false);
|
setPlayIcon(false);
|
||||||
document.getElementById('player-art').classList.remove('spinning');
|
document.getElementById('player-art').classList.remove('spinning');
|
||||||
if(navigator.mediaSession) navigator.mediaSession.playbackState = 'paused';
|
// Skip during track transitions — src change fires pause but we're about to play() immediately
|
||||||
|
if(!S._changingTrack && navigator.mediaSession) navigator.mediaSession.playbackState = 'paused';
|
||||||
});
|
});
|
||||||
S.previewAudio.addEventListener('timeupdate', updatePreviewProgress);
|
S.previewAudio.addEventListener('timeupdate', updatePreviewProgress);
|
||||||
S.previewAudio.addEventListener('ended', stopPreview);
|
S.previewAudio.addEventListener('ended', stopPreview);
|
||||||
|
|||||||
+7
-1
@@ -17,8 +17,14 @@ export function playQueue(songs, startIdx) {
|
|||||||
export function playCurrent() {
|
export function playCurrent() {
|
||||||
if(S.qIdx < 0 || S.qIdx >= S.queue.length) return;
|
if(S.qIdx < 0 || S.qIdx >= S.queue.length) return;
|
||||||
const s = S.queue[S.qIdx];
|
const s = S.queue[S.qIdx];
|
||||||
|
// Pre-update MediaSession before src change so the OS never sees a "paused" flash
|
||||||
|
// (setting src fires pause synchronously; _changingTrack suppresses that in the pause handler)
|
||||||
|
updateMediaSession(s);
|
||||||
|
if(navigator.mediaSession) navigator.mediaSession.playbackState = 'playing';
|
||||||
|
S._changingTrack = true;
|
||||||
S.audio.src = streamUrl(s.id);
|
S.audio.src = streamUrl(s.id);
|
||||||
S.audio.play();
|
S._changingTrack = false;
|
||||||
|
S.audio.play().catch(() => {});
|
||||||
updatePlayerUI(s);
|
updatePlayerUI(s);
|
||||||
onNpSongChange(s.id);
|
onNpSongChange(s.id);
|
||||||
renderQueue();
|
renderQueue();
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export const S = {
|
|||||||
previewAudio: null,
|
previewAudio: null,
|
||||||
previewCurrent: null,
|
previewCurrent: null,
|
||||||
_scrubbing: false,
|
_scrubbing: false,
|
||||||
|
_changingTrack: false,
|
||||||
_msPosLast: 0,
|
_msPosLast: 0,
|
||||||
queueOpen: false,
|
queueOpen: false,
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user