Rocket1184/electron-netease-cloud-music

[BUG] 重启应用后私人 FM 从头开始播放

Closed this issue · 1 comments

表现:重启应用(尤其是强制杀死/突然关机)后,重新打开私人 FM 开关时,有时会从私人 FM 历史记录第一首开始播放。

期望:重新打开私人 FM 开关时,从私人 FM 历史记录的上次播放位置开始播放。

在应用内主动重启私人 FM 开关可以观察到期望表现。

无任何日志输出。

安装方式:yay netease

rocka commented

私人 FM 的播放进度是持久化存储在 localStorage 里的,为了减少不必要的写入,只有正常关闭应用,触发 window.onbeforeunload 的时候,才会写回一次数据

window.onbeforeunload = () => {
store.dispatch('storeCredential');
store.dispatch('storePlaylist');
store.dispatch('storeUiState');
store.dispatch('storeRadio');
};

另外一些 UI 状态也是,包括播放列表的进度、循环模式、音频音量等,所以说这大概能算是预期的行为?而且都已经是强制关闭应用了, IndexedDB 没有坏掉就该谢天谢地了 ...