1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| #-*- coding:utf-8 -*-
import wx
import wx.media
ID_PLAY = 101
ID_STOP = 102
ID_PAUSE = 103
class Root(wx.Frame):
def __init__(self, titre):
wx.Frame.__init__(self, None, -1, title = titre, size = (372,165))
icon = wx.Icon('icone.ico', wx.BITMAP_TYPE_ICO)
self.SetIcon(icon)
self.status = wx.StatusBar(self, -1)
self.status.SetFieldsCount(1)
self.status.SetStatusWidths([-1])
self.SetStatusBar(self.status)
font0 = wx.Font(9, wx.FONTFAMILY_DECORATIVE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, 'Verdana')
font1 = wx.Font(8, wx.FONTFAMILY_DECORATIVE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, 'Verdana')
sizer = wx.GridBagSizer()
conteneur = wx.Panel(self, -1)
conteneur.SetSizer(sizer)
titre = wx.StaticText(conteneur, -1, u"SON WAVE A JOUER:", style = wx.ALIGN_CENTER)
titre.SetFont(font0)
self.entree1 = wx.TextCtrl(conteneur, -1, 'son1')
self.entree1.SetFont(font1)
self.entree2 = wx.TextCtrl(conteneur, -1, 'son2')
self.entree2.SetFont(font1)
btn1 = wx.Button(conteneur, -1, u"PLAY", (20,20))
btn1.SetFont(font1)
self.Bind(wx.EVT_BUTTON, self.Play, btn1)
btn2 = wx.Button(conteneur, -1, u"PAUSE", (20,20))
btn2.SetFont(font1)
self.Bind(wx.EVT_BUTTON, self.OnPause, btn2)
btn3 = wx.Button(conteneur, -1, u"STOP", (20,20))
btn3.SetFont(font1)
self.Bind(wx.EVT_BUTTON, self.OnStop, btn3)
self.pos = wx.StaticText(conteneur, -1, '0')
self.son = wx.media.MediaCtrl(conteneur,-1, style=wx.SIMPLE_BORDER)
self.Choix()
sizer.Add(titre, (0,2))
sizer.Add(self.entree1, (1,1))
sizer.Add(self.entree2, (1,2))
sizer.Add(btn1, (3,1))
sizer.Add(btn2, (3,2))
sizer.Add(btn3, (3,3))
sizer.Add(self.son, (3,4))
sizer.Add(self.pos, (3,5))
def OnTimer(self, evt):
offset = self.son.Tell()
self.pos.SetLabel('%d' % offset)
a = self.son.Length
self.Comparaison(offset)
def Play(self,evt):
self.OnPlay()
def OnPlay(self):
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.OnTimer)
self.timer.Start(100)
self.son.Play()
def Choix(self):
self.OnLoad('son1.wav')
def OnLoad(self, path):
self.son.Load(path)
def Comparaison(self, time):
if time < 1000:
pass
else:
self.OnStop(self)
self.OnLoad('son2.wav')
self.OnPlay()
print time
def OnPause(self, evt):
self.son.Pause()
def OnStop(self, evt):
self.son.Stop()
class MonApp(wx.App):
def OnInit(self):
fen = Root(u"Musique")
fen.Show(True)
self.SetTopWindow(fen)
return True
app = MonApp()
app.MainLoop() |
Partager