我有一个函数,可以用来停止或播放歌曲,如下所示:
class Utils(object):
def __init__(self):
self.paused = pygame.mixer.music.get_busy()
def ToggleAudio(self):
if self.paused:
pygame.mixer.music.unpause()
if not self.paused:
pygame.mixer.music.pause()
self.paused = not self.paused
然后我有另一个功能,如果用户移动轨迹条,我可以使用它来设置歌曲播放位置:
def SetSongPos(self):
index = 0
currentsong = UTILS.CurrentSongname
for song in songs:
if song == currentsong:
MainPlayer.unload()
MainPlayer.load(song)
value = self.root.ids.track.value
MainPlayer.play(0,value)
PS(歌曲是mp3路径的完整列表(。
当我调用这个函数时,类ToggleAudio中的mp3音频切换器停止工作,当我按下停止按钮时,它会停止歌曲一秒钟,然后继续播放
好吧,所以我8个月前在Tkinter中使用Pygame创建了这个相同的项目。你可以从我的项目中获得参考。
m_player.py 的校验码
我认为在你的情况下,你必须在加载歌曲之前停止你的混音器
pygame.mixer.music.stop()
然后加载mp3文件,然后播放您的歌曲
pygame.mixer.music.play()
并将self.pasused设置为False
如果你分享你的完整代码,我可以帮得更好!