2013-03-14 93 views
0

我已經創建了一個簡單的音樂播放器,使用wxPython,它有一個Frame和一個Panel,並使用給定的教程here播放音樂。從播放列表中播放音樂 - wxPython

此外我還爲此添加了一個播放列表功能,它使用ObjectListView並顯示.m3u文件中的所有曲目。 該播放列表是一個單獨的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 

在點擊任何曲目在播放列表中我能得到這首歌的完整路徑。 我想知道如何將這首歌曲發送到現有的音樂播放器並播放它。 或者這種方法是錯誤的,是否有更好的方法來容納播放列表?

回答

2

這種方法非常接近我在考慮如何增強自己的MP3播放器時想回來的方式。爲了在類之間傳遞信息,我認爲pubsub是迄今爲止最優雅的解決方案,即使它有點神奇。您可以在主題閱讀我tutorial或者您可以在wxPython的維基讀到它:

+0

好的教程@Mike – PurityLake 2013-03-14 13:48:01

+0

這是一個奇妙的圖書館和一個偉大的教程太。它解決了我的問題。謝謝@Mike。 – 2013-03-14 14:41:58