From bfe10f09a491e48771b66571644c787c81051e1c Mon Sep 17 00:00:00 2001 From: zackslash Date: Thu, 19 Oct 2023 15:47:21 +0100 Subject: [PATCH] Expose Pause & Continue player functions --- player/player.go | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/player/player.go b/player/player.go index d10e936..32945d4 100644 --- a/player/player.go +++ b/player/player.go @@ -396,23 +396,33 @@ func (p *Player) PlayPause() error { } return nil case Playing: - err := p.setPaused(true) - if err == nil { - p.prePausedState = p.status.State - p.setState(Paused) - } - return err + return p.Pause() case Paused: - err := p.setPaused(false) - if err == nil { - p.setState(p.prePausedState) - } - return err + return p.Continue() default: return errors.New("Unknown player state") } } +// Pause playback and update the player state +func (p *Player) Pause() error { + err := p.setPaused(true) + if err == nil { + p.prePausedState = p.status.State + p.setState(Paused) + } + return err +} + +// Continue playback and update the player state +func (p *Player) Continue() error { + err := p.setPaused(false) + if err == nil { + p.setState(p.prePausedState) + } + return err +} + // Get the loop mode of the player. func (p *Player) GetLoopMode() LoopMode { return p.loopMode