python使用wxPython打开并播放wav文件的方法


Posted in Python onApril 24, 2015

本文实例讲述了python使用wxPython打开并播放wav文件的方法。分享给大家供大家参考。具体实现方法如下:

''' wx_lib_filebrowsebutton_sound.py
select a sound file and play it
wx.lib.filebrowsebutton.FileBrowseButton(parent, labelText, fileMask)
(combines wx.TextCtrl and wxFileDialog widgets)
wx.Sound(fileName, isResource=False)
tested with Python27 and wxPython291 by vegaseat 25jul2013
'''
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 相关文章推荐
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
Python分支结构(switch)操作简介
Jan 17 Python
使用django-crontab实现定时任务的示例
Feb 26 Python
基于python requests库中的代理实例讲解
May 07 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python函数修饰符@的使用方法解析
Sep 02 Python
使用Python的turtle模块画国旗
Sep 24 Python
python2 对excel表格操作完整示例
Feb 23 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
Pytorch 如何实现常用正则化
May 27 Python
python使用PyGame播放Midi和Mp3文件的方法
Apr 24 #Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 #Python
python使用PIL缩放网络图片并保存的方法
Apr 24 #Python
python使用Tkinter显示网络图片的方法
Apr 24 #Python
Python中最常用的操作列表的几种方法归纳
Apr 24 #Python
在Python中使用lambda高效操作列表的教程
Apr 24 #Python
使用Python的判断语句模拟三目运算
Apr 24 #Python
You might like
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
寻找网站后台地址的python脚本
2014/09/01 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
浅谈对yield的初步理解
2017/05/29 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
Python numpy数组转置与轴变换
2019/11/15 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
浅析Python 责任链设计模式
2020/09/11 Python
Python random模块的使用示例
2020/10/10 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
在校大学生个人的自我评价
2014/02/13 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
委托证明模板
2014/09/16 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
导游词之唐山景点
2019/12/18 职场文书