我一直在开发一个音乐播放器程序,以便在我的NEA(Alevel计算机科学项目)中使用Tkinter进行练习。我在程序中具有随机播放功能,但是似乎找不到暂停/跳过歌曲的方法。
代码示例:(很明显,我已经导入了tkinter,random和winsound,而且我还有更多的歌曲)
def song1():
print('song name - song artist')
winsound.PlaySound(r"song address",winsound.SND_FILENAME)
def shuffle():
ShuffleButton.grid_remove()
playlist=list(range(1,NumberOfSongs+1))
random.shuffle(playlist)
print(playlist)
i=int(0)
while i<=NumberOfSongs:
if playlist[i]==1:
song1()
i=i+1
顺便说一句,我知道制作音乐播放器可能要简单得多,但我实际上可以理解这种方式。
答案 0 :(得分:0)
将SND_FILENAME
替换为SND_ASYNC
,这将允许您在播放歌曲时更改歌曲。
使用SND_ASYNC
时,需要修改随机播放功能才能播放歌曲-这可以通过在time.sleep(LengthOfSongInSeconds)
下使用winsound.PlaySound(r"SongAddress",SND_ASYNC)
来完成,这将允许歌曲在下一首之前播放(el)if playlist[i]==x:
将播放列表中的下一首歌曲。我知道将会有一种更有效的方式来允许歌曲完整播放,而我正在研究解决方案。