-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMusicController.py
More file actions
27 lines (23 loc) · 998 Bytes
/
Copy pathMusicController.py
File metadata and controls
27 lines (23 loc) · 998 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from pygame import mixer
class MusicController(object):
def __init__(self):
self.bg_music_file = "bg_music.mp3"
self.bg_music_paused_file = "bg_music_paused.mp3"
self.active_music_file = ""
def start(self):
if self.active_music_file is not self.bg_music_file:
current_music_pos = mixer.music.get_pos() / 1000.0
mixer.music.stop()
mixer.music.load(self.bg_music_file)
mixer.music.play(-1, current_music_pos)
self.active_music_file = self.bg_music_file
def pause(self):
if self.active_music_file is not self.bg_music_paused_file:
current_music_pos = mixer.music.get_pos() / 1000.0
mixer.music.stop()
mixer.music.load(self.bg_music_paused_file)
mixer.music.play(-1, current_music_pos)
self.active_music_file = self.bg_music_paused_file
def stop_music(self):
mixer.music.stop()
self.active_music_file = ""