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


Posted in Python onMarch 25, 2015

本文实例讲述了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 相关文章推荐
Python中zip()函数用法实例教程
Jul 31 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
Python的collections模块中的OrderedDict有序字典
Jul 07 Python
使用Python的turtle模块画图的方法
Nov 15 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
Django CSRF认证的几种解决方案
Mar 03 Python
使用npy转image图像并保存的实例
Jul 01 Python
Python代码需要缩进吗
Jul 01 Python
python概率计算器实例分析
Mar 25 #Python
python编写的最短路径算法
Mar 25 #Python
python实现挑选出来100以内的质数
Mar 24 #Python
Python 的 Socket 编程
Mar 24 #Python
python获取标准北京时间的方法
Mar 24 #Python
python实现定时同步本机与北京时间的方法
Mar 24 #Python
Python随机生成一个6位的验证码代码分享
Mar 24 #Python
You might like
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python实现的多线程端口扫描功能示例
2017/01/21 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
学习Django知识点分享
2019/09/11 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
大学生先进事迹材料
2014/02/16 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
2014年医生工作总结
2014/11/21 职场文书
2015年体育部工作总结
2015/04/02 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
Python内置的数据类型及使用方法
2022/04/13 Python