我使用wxPython创建了一个简单的音乐播放器,它有一个Frame和一个Panel,并使用给定here的教程播放音乐。
此外,我还为此添加了一个播放列表功能,使用ObjectListView
并显示.m3u
文件中的所有曲目。
这个playList是一个单独的python模块
class MainPanel(wx.Panel):
def __init__(self, parent, playListSelected):
//stuff
def GetOLVColClicked(self, event):
item = event.GetEventObject().GetSelectedObjects()
print item[0]['path']
class MainFrame(wx.Frame):
def __init__(self, playList):
wx.Frame.__init__(self, parent=None, id=wx.ID_ANY,
title="ObjectListView Demo", size=(800,600))
panel = MainPanel(self, playList)
class GenApp(wx.App):
def __init__(self, playList, redirect=False, filename=None):
self.playList = playList
wx.App.__init__(self, redirect, filename)
def OnInit(self):
frame = MainFrame(self.playList)
frame.Show()
return True
点击播放列表中的任何曲目后,我可以获得该歌曲的整个路径。 我想知道如何将这首歌发送到现有的音乐播放器并播放它。 或者这种方法是错误的,是否有更好的方法来容纳播放列表?
答案 0 :(得分:2)
当我在思考如何增强自己的mp3播放器时,这种方法非常接近我想要做的方式。为了在类之间传递信息,我认为pubsub是迄今为止最优雅的解决方案,即使它有点神奇。你可以阅读关于这个主题的tutorial,或者你可以在wxPython wiki上阅读它: