带有pygame的Kivy mp3播放器不会停止歌曲



我有一个函数,可以用来停止或播放歌曲,如下所示:

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

如果你分享你的完整代码,我可以帮得更好!

最新更新