X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a5dd1c33c8291e07e1f819f4b32aef521b5ed1f..db679b8c836e69c111cdc31e62cf92cebe4f938f:/wxPython/demo/Sound.py?ds=inline diff --git a/wxPython/demo/Sound.py b/wxPython/demo/Sound.py index c6d7028edb..2584de414c 100644 --- a/wxPython/demo/Sound.py +++ b/wxPython/demo/Sound.py @@ -9,7 +9,7 @@ class TestPanel(wx.Panel): def __init__(self, parent, log): wx.Panel.__init__(self, parent, -1) self.log = log - + b = wx.Button(self, -1, "Play Sound 1 (sync)", (25, 25)) self.Bind(wx.EVT_BUTTON, self.OnButton1, b) @@ -32,11 +32,16 @@ class TestPanel(wx.Panel): def OnButton2(self, evt): try: - #sound = wx.Sound(opj('data/plan.wav')) - data = open(opj('data/plan.wav'), 'rb').read() - sound = wx.SoundFromData(data) + if True: + sound = wx.Sound(opj('data/plan.wav')) + else: + # sounds can also be loaded from a buffer object + data = open(opj('data/plan.wav'), 'rb').read() + sound = wx.SoundFromData(data) + self.log.write("before Play...\n") sound.Play(wx.SOUND_ASYNC) + self.sound = sound # save a reference (This shoudln't be needed, but there seems to be a bug...) wx.YieldIfNeeded() self.log.write("...after Play\n") except NotImplementedError, v: @@ -50,12 +55,16 @@ class TestPanel(wx.Panel): style=wx.OPEN) if dlg.ShowModal() == wx.ID_OK: try: - sound = wx.Sound(dlg.GetPath()) - sound.Play() + #sound = wx.Sound(dlg.GetPath(), wx.SOUND_SYNC) + #sound.Play() + + # another way to do it. + wx.Sound.PlaySound(dlg.GetPath(), wx.SOUND_SYNC) + except NotImplementedError, v: wx.MessageBox(str(v), "Exception Message") dlg.Destroy() - + #---------------------------------------------------------------------- @@ -68,8 +77,8 @@ def runTest(frame, nb, log): overview = """

Sound

-This class represents a short wave file, in Windows WAV format, that can -be stored in memory and played. Currently this class is implemented on Windows +This class represents a short wave file, in Windows WAV format, that can +be stored in memory and played. Currently this class is implemented on Windows and GTK (Linux) only.

This demo offers two examples, both driven by buttons, but obviously the event