]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/Sound.py
6 #----------------------------------------------------------------------
8 class TestPanel(wx
.Panel
):
9 def __init__(self
, parent
, log
):
10 wx
.Panel
.__init
__(self
, parent
, -1)
13 b
= wx
.Button(self
, -1, "Play Sound 1 (sync)", (25, 25))
14 self
.Bind(wx
.EVT_BUTTON
, self
.OnButton1
, b
)
16 b
= wx
.Button(self
, -1, "Play Sound 2 (async)", (25, 65))
17 self
.Bind(wx
.EVT_BUTTON
, self
.OnButton2
, b
)
19 b
= wx
.Button(self
, -1, "Select .WAV file", (25, 105))
20 self
.Bind(wx
.EVT_BUTTON
, self
.OnSelectSound
, b
)
23 def OnButton1(self
, evt
):
25 sound
= wx
.Sound(opj('data/anykey.wav'))
26 self
.log
.write("before Play...\n")
27 sound
.Play(wx
.SOUND_SYNC
)
28 self
.log
.write("...after Play\n")
29 except NotImplementedError, v
:
30 wx
.MessageBox(str(v
), "Exception Message")
33 def OnButton2(self
, evt
):
35 sound
= wx
.Sound(opj('data/plan.wav'))
36 self
.log
.write("before Play...\n")
37 sound
.Play(wx
.SOUND_ASYNC
)
39 self
.log
.write("...after Play\n")
40 except NotImplementedError, v
:
41 wx
.MessageBox(str(v
), "Exception Message")
44 def OnSelectSound(self
, evt
):
45 dlg
= wx
.FileDialog(wx
.GetTopLevelParent(self
),
46 "Choose a sound file",
47 wildcard
="WAV files (*.wav)|*.wav",
49 if dlg
.ShowModal() == wx
.ID_OK
:
51 sound
= wx
.Sound(dlg
.GetPath())
53 except NotImplementedError, v
:
54 wx
.MessageBox(str(v
), "Exception Message")
58 #----------------------------------------------------------------------
60 def runTest(frame
, nb
, log
):
61 win
= TestPanel(nb
, log
)
64 #----------------------------------------------------------------------
67 overview
= """<html><body>
69 This class represents a short wave file, in Windows WAV format, that can
70 be stored in memory and played. Currently this class is implemented on Windows
73 This demo offers two examples, both driven by buttons, but obviously the event
74 that drives the playing of the sound can come from anywhere.
80 if __name__
== '__main__':
83 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])