mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-30 14:49:47 +02:00
restore from App “stop" & "destroyed", get data from player, avoid progress loss
This commit is contained in:
parent
aef09ebada
commit
274a683be7
2 changed files with 29 additions and 6 deletions
|
@ -198,11 +198,33 @@ export default {
|
||||||
this.pause()
|
this.pause()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
set(audiobookStreamData) {
|
async set(audiobookStreamData, stream, fromAppDestroy) {
|
||||||
this.isResetting = false
|
this.isResetting = false
|
||||||
this.initObject = { ...audiobookStreamData }
|
this.initObject = { ...audiobookStreamData }
|
||||||
|
var init = true
|
||||||
|
if (!!stream) {
|
||||||
|
console.log(JSON.stringify(stream))
|
||||||
|
var data = await MyNativeAudio.getStreamSyncData()
|
||||||
|
console.log('getStreamSyncData', JSON.stringify(data))
|
||||||
|
console.log('lastUpdate', !!stream.lastUpdate ? stream.lastUpdate : 0)
|
||||||
|
//Same audiobook
|
||||||
|
if (data.id == stream.id && (data.isPlaying || (data.lastPauseTime >= (!!stream.lastUpdate ? stream.lastUpdate : 0)))) {
|
||||||
|
console.log('Same audiobook')
|
||||||
|
this.isPaused = !data.isPlaying
|
||||||
|
this.currentTime = Number((data.currentTime / 1000).toFixed(2))
|
||||||
|
this.timeupdate()
|
||||||
|
if (data.isPlaying) {
|
||||||
|
console.log('playing - continue')
|
||||||
|
if (fromAppDestroy) this.startPlayInterval()
|
||||||
|
}
|
||||||
|
else console.log('paused and newer')
|
||||||
|
if (!fromAppDestroy) return
|
||||||
|
init = false
|
||||||
|
this.initObject.startTime = String(Math.floor(this.currentTime * 1000))
|
||||||
|
}
|
||||||
|
}
|
||||||
this.currentPlaybackRate = this.initObject.playbackSpeed
|
this.currentPlaybackRate = this.initObject.playbackSpeed
|
||||||
MyNativeAudio.initPlayer(this.initObject).then((res) => {
|
if (init) MyNativeAudio.initPlayer(this.initObject).then((res) => {
|
||||||
if (res && res.success) {
|
if (res && res.success) {
|
||||||
console.log('Success init audio player')
|
console.log('Success init audio player')
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -269,7 +269,7 @@ export default {
|
||||||
isLocal: true
|
isLocal: true
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$refs.audioPlayerMini.set(audiobookStreamData)
|
this.$refs.audioPlayerMini.set(audiobookStreamData, null, false)
|
||||||
},
|
},
|
||||||
streamOpen(stream) {
|
streamOpen(stream) {
|
||||||
if (this.download) {
|
if (this.download) {
|
||||||
|
@ -286,8 +286,6 @@ export default {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stream = stream
|
|
||||||
|
|
||||||
// Update local remove current
|
// Update local remove current
|
||||||
this.$localStore.setCurrent(null)
|
this.$localStore.setCurrent(null)
|
||||||
|
|
||||||
|
@ -298,6 +296,7 @@ export default {
|
||||||
if (playOnLoad) this.$store.commit('setPlayOnLoad', false)
|
if (playOnLoad) this.$store.commit('setPlayOnLoad', false)
|
||||||
|
|
||||||
var audiobookStreamData = {
|
var audiobookStreamData = {
|
||||||
|
id: stream.id,
|
||||||
title: this.title,
|
title: this.title,
|
||||||
author: this.author,
|
author: this.author,
|
||||||
playWhenReady: !!playOnLoad,
|
playWhenReady: !!playOnLoad,
|
||||||
|
@ -309,7 +308,9 @@ export default {
|
||||||
playlistUrl: this.$server.url + playlistUrl,
|
playlistUrl: this.$server.url + playlistUrl,
|
||||||
token: this.$store.getters['user/getToken']
|
token: this.$store.getters['user/getToken']
|
||||||
}
|
}
|
||||||
this.$refs.audioPlayerMini.set(audiobookStreamData)
|
this.$refs.audioPlayerMini.set(audiobookStreamData, stream, !this.stream)
|
||||||
|
|
||||||
|
this.stream = stream
|
||||||
},
|
},
|
||||||
audioPlayerMounted() {
|
audioPlayerMounted() {
|
||||||
console.log('Audio Player Mounted', this.$server.stream)
|
console.log('Audio Player Mounted', this.$server.stream)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue