python使用wxPython打开并播放wav文件的方法
作者:feiwen 发布时间:2023-08-23 10:30:58
标签:python,wxPython,wav
本文实例讲述了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中的装饰器,我们一般会使用它辅助方法。在我们学习的上下文管理器中,有一个@contextmanager装饰器,它能够帮助我
- 1. 连接对象操作数据库之前,首先要建立数据库连接。有下面几个方法进行连接。>>>import cx_Oracle>
- 使用v-on绑定自定义事件(一)基于webpack的项目初始化在使用之前,我们先使用npm构建一个vue应用,使该项目能很好地和webpac
- 本文实例讲述了php数组索引与键值操作技巧。分享给大家供大家参考。具体如下:<?php $array = array("a&
- 很多开发人员在刚开始学Python 时,都考虑过像 c++ 那样来实现 singleton 模式,但后来会发现 c++ 是 c++,Pyth
- 一、Pyeharts简介pyecharts 是一个用于生成 Echarts 图表的类库。用 Echarts 生成的图可视化效果很不错,pye
- Firefox 2.0 在对 XML 的支持方面有几个重要的改进。目前它的用户部署如日中天。了解 Firefox 2.0 XML 特性的改进
- 案例故事:百度网盘非会员大量上传文件,会弹出:“上传文件数量超出500个现在,开通超级会员后可继续上传”,其实是限制拖入500张相片,并非限
- 1、利用key排序d = {'d1':2, 'd2':4, 'd4':1,'d3
- 在本教程中,你会学到如何把HTML的列表项(li元素)转换成下图的“便签墙”。该效果分5步实现。内核为webkit的Safari和Chrom
- 1.什么是gRPCgRPC是rpc框架中的一种,是rpc中的大哥是一个高性能,开源和通用的RPC框架,基于Protobuf序列化协议开发,且
- 本文实例讲述了thinkphp5.1 框架钩子和行为用法。分享给大家供大家参考,具体如下:行为ThinkPHP中的行为是一个比较抽象的概念,
- 本文实例为大家分享了Vue实现步骤条效果的具体代码,供大家参考,具体内容如下步骤总数和初始选择步骤 均可自定义设置,每个步骤title和de
- 正在学习javascript 的朋友可以把它当作小练习动手做一做。加强自己的动手编码能力。参考代码:<!DOCTYPE HTML PU
- 安装tf2onnx以及onnxruntimepip install onnxruntimepip install tf2onnxtf 转为o
- 如下所示:import requests url='http://www.baidu.com'#下面使用requests.r
- 上次更新到pygame实现俄罗斯方块游戏(基础篇3)现在继续一、定义玩家类定义玩家类是为了便于进行手动和机器模式或各种不同机器人模式的混合使
- 一、前言MySQL启动后,BufferPool就会被初始化,在你没有执行任何查询操作之前,BufferPool中的缓存页都是一块块空的内存,
- 前言cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入1.vue中cookie的安装在终端中输入命令n
- 矩形选区概述矩形选区是一种常见的对象选择方式,这个名词最常见于Photoshop中,用于在一个子图选择鼠标拖动的矩形区域中的元素,在matp