refactor(web+android): nur Warteschlange und Titel sichern, keine Sekunden
Das Mitschreiben der Abspielposition war zu viel des Guten: es bedeutete staendiges Schreiben waehrend der Wiedergabe fuer einen Gewinn, den man kaum bemerkt. Gesichert werden jetzt nur Warteschlange und aktueller Titel, der dann von vorn beginnt. Der eigentliche Gewinn bleibt und war der Ausloeser: unter Android war die Now-Playing-Leiste nach dem Oeffnen leer, bis man einmal auf Play drueckte — gesichert war nur der letzte Song, nicht die Warteschlange. Das Wiederherstellen fuellt den Zustand jetzt ueber syncState(), also ohne Abspielen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
65fa950043
commit
a2211a62d2
6 files changed
+25
-67
No files matched your search
+1
-6
@@ -13,7 +13,7 @@ import {
|
||||
toggleShuffle, toggleRepeat, toggleQueue, setVolume, seekTo,
|
||||
initProgressScrub, updateProgress, updatePreviewProgress, stopPreview,
|
||||
toggleRadioMode, starCurrent, downloadCurrent, renderQueue, playPreview,
|
||||
toggleStar, dlSongLocal, _applyRadioBtn, _applyShuffleRepeat, _restoreLastPlayed, persistPosition, setPlayIcon,
|
||||
toggleStar, dlSongLocal, _applyRadioBtn, _applyShuffleRepeat, _restoreLastPlayed, setPlayIcon,
|
||||
npToggleStar, updateMediaSession, updateNpColorMode, reconcileNativeState, initKeyboardShortcuts,
|
||||
} from './player/player.js';
|
||||
import {
|
||||
@@ -158,9 +158,6 @@ window.addEventListener('load', () => {
|
||||
let _errRetries = 0, _errTimer = null;
|
||||
function bindAudioEl(el) {
|
||||
el.addEventListener('timeupdate', updateProgress);
|
||||
// Position mitschreiben (gedrosselt), damit ein Neuladen dort weitermacht, wo du warst.
|
||||
el.addEventListener('timeupdate', () => persistPosition());
|
||||
el.addEventListener('pause', () => persistPosition(true));
|
||||
el.addEventListener('ended', onEnded);
|
||||
el.addEventListener('play', () => {
|
||||
S._trackChanging = false;
|
||||
@@ -318,8 +315,6 @@ window.addEventListener('load', () => {
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('pagehide', () => persistPosition(true));
|
||||
document.addEventListener('visibilitychange', () => { if (document.hidden) persistPosition(true); });
|
||||
window.addEventListener('popstate', (e) => _navOnPopState(e.state));
|
||||
document.addEventListener('keydown', e => {
|
||||
if(e.key !== 'Backspace') return;
|
||||
|
||||
Reference in new issue
Block a user