各位用户为了找寻关于python通过wxPython打开一个音频文件并播放的方法的资料费劲了很多周折。这里教程网为您整理了关于python通过wxPython打开一个音频文件并播放的方法的相关资料,仅供查阅,以下为您介绍关于python通过wxPython打开一个音频文件并播放的方法的详细内容
本文实例讲述了python通过wxPython打开一个音频文件并播放的方法。分享给大家供大家参考。具体如下:
这段代码片段使用wx.lib.filebrowsebutton.FileBrowseButton控件打开一个wav文件,使用wx.Sound播放
? 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 36import
wx
import
wx.lib.filebrowsebutton
class
MyFrame(wx.Frame):
def
__init__(
self
, parent, mytitle, mysize):
wx.Frame.__init__(
self
, parent, wx.ID_ANY, mytitle,
size
=
mysize)
self
.SetBackgroundColour(
"green"
)
panel
=
wx.Panel(
self
)
# mask file browser to look for .wav sound files
self
.fbb
=
wx.lib.filebrowsebutton.FileBrowseButton(panel,
labelText
=
"Select a WAVE file:"
, fileMask
=
"*.wav"
)
self
.play_button
=
wx.Button(panel, wx.ID_ANY,
">> Play"
)
self
.play_button.Bind(wx.EVT_BUTTON,
self
.onPlay)
# setup the layout with sizers
hsizer
=
wx.BoxSizer(wx.HORIZONTAL)
hsizer.Add(
self
.fbb,
1
, wx.ALIGN_CENTER_VERTICAL)
hsizer.Add(
self
.play_button,
0
, wx.ALIGN_CENTER_VERTICAL)
# create a border space
border
=
wx.BoxSizer(wx.VERTICAL)
border.Add(hsizer,
0
, wx.EXPAND|wx.
ALL
,
10
)
panel.SetSizer(border)
def
onPlay(
self
, evt):
filename
=
self
.fbb.GetValue()
self
.sound
=
wx.Sound(filename)
# error handling ...
if
self
.sound.IsOk():
self
.sound.Play(wx.SOUND_ASYNC)
else
:
wx.MessageBox(
"Missing or invalid sound file"
,
"Error"
)
app
=
wx.App(
0
)
# create a MyFrame instance and show the frame
mytitle
=
"wx.lib.filebrowsebutton and wx.Sound"
width
=
600
height
=
90
MyFrame(
None
, mytitle, (width, height)).Show()
app.MainLoop()
希望本文所述对大家的Python程序设计有所帮助。