This commit is contained in:
raziman 2020-06-25 14:12:02 +08:00
parent c86a4965d5
commit ecf5ed628c

View File

@ -171,41 +171,16 @@ func (p *Player) Run() {
p.playingBar.NewProgress(song.name, int(p.length.Seconds()), 100) p.playingBar.NewProgress(song.name, int(p.length.Seconds()), 100)
p.playingBar.Run() p.playingBar.Run()
go func() { // is used to send progress
i := 0 i := 0
next: next:
for { for {
select { select {
case <-p.isSkipped: case <-p.isSkipped:
break next break next
case <-time.After(time.Second):
// stop progress bar from progressing when paused
if !p.IsRunning {
continue
}
i++
p.playingBar.progress <- 1
if i > p.playingBar.full {
break next
}
}
}
}()
next:
for {
select {
case <-done: case <-done:
close(done) close(done)
p.position = 0 p.position = 0
@ -218,13 +193,29 @@ next:
go p.Run() go p.Run()
} }
break next break next
case <-time.After(time.Second): case <-time.After(time.Second):
// stop progress bar from progressing when paused
if !p.IsRunning {
continue
}
i++
p.playingBar.progress <- 1
speaker.Lock() speaker.Lock()
p.position = position() p.position = position()
speaker.Unlock() speaker.Unlock()
if i > p.playingBar.full {
break next
} }
} }
}
} }
func (p *Player) Pause() { func (p *Player) Pause() {