Merge pull request #21 from svdztn/fix_playWhenReady

Fix playWhenReady
This commit is contained in:
advplyr 2021-10-30 06:21:44 -05:00 committed by GitHub
commit 3f63c4d157
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 13 deletions

View file

@ -82,6 +82,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
var seekAmount: Long = 20000 //ms
private var lastPauseTime: Long = 0 //ms
private var onSeekBack: Boolean = false
fun setCustomObjectListener(mylistener: MyCustomObjectListener) {
listener = mylistener
@ -416,6 +417,21 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
}
if (events.contains(Player.EVENT_IS_PLAYING_CHANGED)) {
Log.d(tag, "EVENT IS PLAYING CHANGED")
if (player.isPlaying) {
if (lastPauseTime > 0) {
if (onSeekBack) onSeekBack = false
else {
var backTime = calcPauseSeekBackTime()
if (backTime > 0) {
if (backTime >= mPlayer.currentPosition) backTime = mPlayer.currentPosition - 500
Log.d(tag, "SeekBackTime $backTime")
onSeekBack = true
seekBackward(backTime)
}
}
}
}
else lastPauseTime = System.currentTimeMillis()
if (listener != null) listener.onPlayingUpdate(player.isPlaying)
}
}
@ -522,18 +538,11 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
Log.d(tag, "Already playing")
return
}
if (lastPauseTime > 0) {
var backTime = calcPauseSeekBackTime()
if (backTime >= mPlayer.currentPosition) backTime = mPlayer.currentPosition - 500
Log.d(tag, "SeekBackTime $backTime")
seekBackward(backTime)
}
mPlayer.play()
}
fun pause() {
mPlayer.pause()
lastPauseTime = System.currentTimeMillis()
}
fun seekPlayer(time: Long) {
@ -556,6 +565,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
if (mPlayer.playbackState == Player.STATE_READY) {
mPlayer.clearMediaItems()
}
currentAudiobook?.id = ""
lastPauseTime = 0
}

View file

@ -154,6 +154,7 @@ export default {
if (value) {
this.$server.socket.emit('close_stream')
this.$store.commit('setStreamAudiobook', null)
this.$server.stream = null
if (this.$refs.audioPlayerMini) {
this.$refs.audioPlayerMini.terminateStream()
}