diff --git a/audio/player.py b/audio/player.py index 0ba2cf0..48f5727 100644 --- a/audio/player.py +++ b/audio/player.py @@ -100,6 +100,12 @@ class Player: def play(self, *args): self.playbin.set_state(Gst.State.PLAYING) + def playpause(self, *args): + if self.get_state() == Gst.State.PLAYING: + self.pause() + else: + self.play() + def play_track(self, track): if track == self.track: return False diff --git a/audio/test_player.py b/audio/test_player.py index 8f91329..081a928 100644 --- a/audio/test_player.py +++ b/audio/test_player.py @@ -81,6 +81,12 @@ class TestPlayer(unittest.TestCase): play.play() self.assertEqual(play.get_state(), Gst.State.PLAYING) + play.playpause() + self.assertEqual(play.get_state(), Gst.State.PAUSED) + + play.playpause() + self.assertEqual(play.get_state(), Gst.State.PLAYING) + play.pause() self.assertEqual(play.get_state(), Gst.State.PAUSED)