python通过wxPython打开一个音频文件并播放的方法

yipeiwu_com6年前Python基础

本文实例讲述了python通过wxPython打开一个音频文件并播放的方法。分享给大家供大家参考。具体如下:

这段代码片段使用wx.lib.filebrowsebutton.FileBrowseButton控件打开一个wav文件,使用wx.Sound播放

import 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程序设计有所帮助。

相关文章

Python lambda函数基本用法实例分析

本文实例讲述了Python lambda函数基本用法。分享给大家供大家参考,具体如下: 这里我们简单学习一下python lambda函数。 首先,看一下python lambda函数的...

Python多线程经典问题之乘客做公交车算法实例

Python多线程经典问题之乘客做公交车算法实例

本文实例讲述了Python多线程经典问题之乘客做公交车算法。分享给大家供大家参考,具体如下: 问题描述: 乘客乘坐公交车问题,司机,乘客,售票员协同工作,通过多线程模拟三者的工作。 司机...

用Python删除本地目录下某一时间点之前创建的所有文件的实例

因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作。网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如...

Python FFT合成波形的实例

使用Python numpy模块带的FFT函数合成矩形波和方波,增加对离散傅里叶变换的理解。 导入模块 import numpy as np import matplotlib.py...

python验证码图片处理(二值化)

python验证码图片处理(二值化)

写在最前面: 这个我打算分几次写,由于我们通过selenium拿到的图片会很模糊,所以使用Tesseract识别之前要对图片先进行处理。 第一步就是二值化,设定阈值,低于阈值全部为白色(...