- 浏览: 13731688 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
自己写的闹钟, 只可以播放wav格式的音频。
import time import sys soundFile = 'sound.wav' not_executed = 1 def soundStart(): if sys.platform[:5] == 'linux': import os os.popen2('aplay -q' + soundFile) else: import winsound winsound.PlaySound(soundFile, winsound.SND_FILENAME) while(not_executed): dt = list(time.localtime()) hour = dt[3] minute = dt[4] if hour == 17 and minute == 38: # 下午5点33分的时候开始提示 soundStart() not_executed = 0
winsound 模块提供访问由 Windows 平台提供的基本的声音播放设备。它包含函数和数个常量。
Beep(frequency, duration)
蜂鸣PC的喇叭。 frequency 参数指定声音的频率,以赫兹,并且必须是在 37 到 32,767
的范围之中。duration 参数指定声音应该持续的毫秒数。如果系统不能蜂鸣喇叭,挂起 RuntimeError。注意:Windows 95 和 98下,Windows Beep() 函数存在但是无效的(它忽略它的参数)。这种情况下Python通过直接的端口操作模拟它(2.1版本中增加的)。不知道是否在所有的系统上都工作。 1.6版本中的新特性。
PlaySound(sound, flags)
从平台 API 中调用 PlaySound() 函数。sound 参数必须是一个文件名,音频数据作为字符串,或为 None。它的解释依赖于 flags 的值,该值可以是一个位方式或下面描述的变量的组合。如果系统显示一个错误,挂起 RuntimeError 。
MessageBeep([type=MB_OK])
从平台 API 中调用 MessageBeep() 函数。播放一个在注册表中指定的声音。type 参数指定播放哪一个声音;可能的值是 -1,MB_ICONASTERISK,MB_ICONEXCLAMATION,MB_ICONHAND,MB_ICONQUESTION,和 MB_OK,所有的描述如下。值 -1 产生一个``简单的蜂鸣'';换句话说这是如果声音不能被播放的后备计划。2.3版本中的新特性。
SND_FILENAME
sound 参数是一个 WAV 文件的名称。不使用 SND_ALIAS。
SND_ALIAS
sound 参数是注册表中一个声音组合的名称。如果注册表没有包含这样的名称,播放系统缺省的声音除非 SND_NODEFAULT 也被指定。如果没有缺省的声音被注册,挂起 RuntimeError。不使用 SND_FILENAME。
所有的 Win32 系统至少支持下列,大多数系统支持的更多:
PlaySound() 名称 对应的控制面板声音名称
'SystemAsterisk' Asterisk
'SystemExclamation' Exclamation
'SystemExit' Exit Windows
'SystemHand' Critical Stop
'SystemQuestion' Question
例子:
import winsound # Play Windows exit sound. winsound.PlaySound("SystemExit", winsound.SND_ALIAS) # Probably play Windows default sound, if any is registered (because # "*" probably isn't the registered name of any sound). winsound.PlaySound("*", winsound.SND_ALIAS)
SND_LOOP
重复地播放声音。SND_ASYNC标识也必须被用来避免堵塞。不能用 SND_MEMORY。
SND_MEMORY
提供给PlaySound()的 sound 参数是一个 WAV 文件的内存映像(memory image),作为一个字符串。
注意:这个模块不支持从内存映像中异步播放,因此这个标识和 SND_ASYNC 的组合将挂起 RuntimeError。
SND_PURGE
停止播放所有指定声音的实例。
SND_ASYNC
立即返回,允许声音异步播放。
SND_NODEFAULT
不过指定的声音没有找到,不播放系统缺省的声音。
SND_NOSTOP
不中断当前播放的声音。
SND_NOWAIT
如果声音驱动忙立即返回。
MB_ICONASTERISK
播放 SystemDefault 声音。
MB_ICONEXCLAMATION
播放 SystemExclamation 声音。
MB_ICONHAND
播放 SystemHand 声音。
MB_ICONQUESTION
播放 SystemQuestion 声音。
MB_OK
播放 SystemDefault 声音。
实例一
import wx from wx.lib.filebrowsebutton import FileBrowseButton class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, title="wx.Sound",size=(500,100)) p = wx.Panel(self) self.fbb = FileBrowseButton(p,labelText="Select WAV file:",fileMask="*.wav") btn = wx.Button(p, -1, "Play") self.Bind(wx.EVT_BUTTON, self.OnPlaySound, btn) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.fbb, 1, wx.ALIGN_CENTER_VERTICAL) sizer.Add(btn, 0, wx.ALIGN_CENTER_VERTICAL) border = wx.BoxSizer(wx.VERTICAL) border.Add(sizer, 0, wx.EXPAND|wx.ALL, 15) p.SetSizer(border) def OnPlaySound(self, evt): filename = self.fbb.GetValue() self.sound = wx.Sound(filename) if self.sound.IsOk(): self.sound.Play(wx.SOUND_ASYNC) else: wx.MessageBox("Invalid sound file", "Error") app = wx.PySimpleApp() frm = MyFrame() frm.Show() app.MainLoop()
实例二
import wx import wx.media import os class Panel1(wx.Panel): def __init__(self, parent, id): #self.log = log wx.Panel.__init__(self, parent, -1, style=wx.TAB_TRAVERSAL|wx.CLIP_CHILDREN) # Create some controls try: self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER) except NotImplementedError: self.Destroy() raise loadButton = wx.Button(self, -1, "Load File") self.Bind(wx.EVT_BUTTON, self.onLoadFile, loadButton) playButton = wx.Button(self, -1, "Play") self.Bind(wx.EVT_BUTTON, self.onPlay, playButton) pauseButton = wx.Button(self, -1, "Pause") self.Bind(wx.EVT_BUTTON, self.onPause, pauseButton) stopButton = wx.Button(self, -1, "Stop") self.Bind(wx.EVT_BUTTON, self.onStop, stopButton) slider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(300, -1)) self.slider = slider self.Bind(wx.EVT_SLIDER, self.onSeek, slider) self.st_file = wx.StaticText(self, -1, ".mid .mp3 .wav .au .avi .mpg", size=(200,-1)) self.st_size = wx.StaticText(self, -1, size=(100,-1)) self.st_len = wx.StaticText(self, -1, size=(100,-1)) self.st_pos = wx.StaticText(self, -1, size=(100,-1)) # setup the button/label layout using a sizer sizer = wx.GridBagSizer(5,5) sizer.Add(loadButton, (1,1)) sizer.Add(playButton, (2,1)) sizer.Add(pauseButton, (3,1)) sizer.Add(stopButton, (4,1)) sizer.Add(self.st_file, (1, 2)) sizer.Add(self.st_size, (2, 2)) sizer.Add(self.st_len, (3, 2)) sizer.Add(self.st_pos, (4, 2)) sizer.Add(self.mc, (5,1), span=(5,1)) # for .avi .mpg video files self.SetSizer(sizer) self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.onTimer) self.timer.Start(100) def onLoadFile(self, evt): dlg = wx.FileDialog(self, message="Choose a media file", defaultDir=os.getcwd(), defaultFile="", style=wx.OPEN | wx.CHANGE_DIR ) if dlg.ShowModal() == wx.ID_OK: path = dlg.GetPath() self.doLoadFile(path) dlg.Destroy() def doLoadFile(self, path): if not self.mc.Load(path): wx.MessageBox("Unable to load %s: Unsupported format?" % path, "ERROR", wx.ICON_ERROR | wx.OK) else: folder, filename = os.path.split(path) self.st_file.SetLabel('%s' % filename) self.mc.SetBestFittingSize() self.GetSizer().Layout() self.slider.SetRange(0, self.mc.Length()) self.mc.Play() def onPlay(self, evt): self.mc.Play() def onPause(self, evt): self.mc.Pause() def onStop(self, evt): self.mc.Stop() def onSeek(self, evt): offset = self.slider.GetValue() self.mc.Seek(offset) def onTimer(self, evt): offset = self.mc.Tell() self.slider.SetValue(offset) self.st_size.SetLabel('size: %s ms' % self.mc.Length()) self.st_len.SetLabel('( %d seconds )' % (self.mc.Length()/1000)) self.st_pos.SetLabel('position: %d ms' % offset) app = wx.PySimpleApp() # create a window/frame, no parent, -1 is default ID frame = wx.Frame(None, -1, "play audio and video files", size = (320, 350)) # call the derived class Panel1(frame, -1) frame.Show(1) app.MainLoop()
发表评论
-
Python实例讲解 -- 接收邮件 (亲测)
2011-02-23 07:13 319111. 主要使用了 poplib 组件 # -*- ... -
Python实例讲解 -- 发送邮件带附件 (亲测)
2011-02-23 05:16 12094主要使用了 smtp 和 email 组件 # -*- ... -
文本输入控件wx.TextCtrl
2011-02-22 06:49 14404构造函数: wx.TextCtrl ... -
Python设置默认语言编码
2011-02-22 05:31 3102当python中间处理非ASCII编码时,经常会出现如下错误: ... -
Python实例讲解 -- wxpython 最小到托盘及欢迎图片
2011-02-15 00:59 8084需要注意的是,这里是托盘上的图标弹出菜单是覆盖了Creat ... -
Python实例讲解 -- tkinter canvas (设置背景图片及文字)
2011-02-14 22:17 44668先来一个绘图: from Tkinter import ... -
Python实例讲解 -- wxpython 基本的控件 (按钮)
2011-02-12 04:47 98947使用按钮工作 在wxPython 中有很多不同类型的 ... -
Python实例讲解 -- wxpython 基本的控件 (文本)
2011-02-12 04:20 43861使用基本的控件工作 wxPython 工具包提供了多 ... -
Python实例讲解 -- 操作数据库 附mysqldb win32 py2.7下载
2011-02-11 06:27 4546mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此 ... -
Python实例讲解 -- 解析xml
2011-02-11 05:38 8616doc.xml <?xml version=&q ... -
Python 列表 list 数组 array
2011-02-10 05:53 26984Python中的列表(list)类似于C#中的可变数组(Arr ... -
Python字符串的encode与decode
2011-02-10 05:32 3064首先要搞清楚,字符串 ... -
Python实例讲解 -- 认识wxpython 的 Frame
2011-02-09 23:21 8379简单小代码: #!/usr/bin/python # ... -
Python实例讲解 -- 获取本地时间日期(日期计算)
2011-02-09 05:40 419701. 显示当前日期: ... -
Python实例讲解 -- 图片处理
2011-02-08 02:57 17759虽然图像处理的最佳工 ... -
Python实例讲解 -- 磁盘文件的操作
2011-02-08 00:02 7163在文件夹里有六十多个RM格式的视频文件,我现在需要把它们的文件 ... -
py2exe使用方法 (含一些调试技巧,如压缩email 类)
2011-02-04 06:11 19018一、简介 py2exe是 ... -
wxPython中文教程 简单入门加实例
2011-01-27 21:49 66621wx.Window 是一个基类,许 ... -
新手如何运行第一个python程序
2011-01-19 03:36 21853不少新手朋友 遇到的 ... -
在Windows环境下用Editplus打造一个Python编辑调试环境
2011-01-19 00:21 6414Python有很多集成开发工具,商业的有 komodo, ...
相关推荐
Python大作业-音乐播放软件(爬虫+可视化+数据分析+数据库)高分项目期末大作业开发的97分高分设计项目,可作为高分课程设计和期末大作业的参考,含有代码注释小白也可看的懂,有能力的小伙伴也可以在此基础上进行...
计算机毕业设计-超市管理系统(python+django+mysql) 计算机毕业设计-超市管理系统(python+django+mysql) 计算机毕业设计-超市管理系统(python+django+mysql) 计算机毕业设计-超市管理系统(python+django+mysql) ...
YOLOv8-使用ONNX+YOLOv8+Python实现目标检测源码.zipYOLOv8-使用ONNX+YOLOv8+Python实现目标检测源码.zipYOLOv8-使用ONNX+YOLOv8+Python实现目标检测源码.zipYOLOv8-使用ONNX+YOLOv8+Python实现目标检测源码....
python全栈开发项目模板Flask+Flask-Login+SQLAlchemy+WTForms+PyMySQL架构Demo。用于快速构建自己的python全栈web应用。简单实用,代码已调试,完美运行! python全栈开发项目模板Flask+Flask-Login+SQLAlchemy+...
语音识别系统python源码+GUI.zip毕业设计-语音识别系统python源码+GUI.zip毕业设计-语音识别系统python源码+GUI.zip毕业设计-语音识别系统python源码+GUI.zip毕业设计-语音识别系统python源码+GUI.zip毕业设计-语音...
python-diango-web 是【有来开源组织】 基于 Python + Django + MySQL实现的Python Web版学生增删改查,旨在快速入门Python Web开发。 项目仓库地址:https://gitee.com/youlaiorg/python-diango-web 项目文档地址:...
金融量化的基础书籍:Mastering-Python-for-Finance + 打开量化交易的黑箱
《简明 Python 教程》byte-of-python-chinese-edition + pdf
算法改进基于python实现K-Means聚类算法及其改进(kmean++)源码.zip算法改进基于python实现K-Means聚类算法及其改进(kmean++)源码.zip算法改进基于python实现K-Means聚类算法及其改进(kmean++)源码.zip算法改进基于...
离线安装包,亲测可用
Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码...
Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python源码Python 实例 - 根据IP地址查对应的地理信息 Python...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Python 实例 - personal-qrcode个性二维码 Python源码Python 实例 - personal-qrcode个性二维码 Python源码Python 实例 - personal-qrcode个性二维码 Python源码Python 实例 - personal-qrcode个性二维码 Python源码...
官方离线安装包,亲测可用
**Python Eureka 客户端:python-eureka-client** 在微服务架构中,服务治理是至关重要的一个环节,而Eureka是Spring Cloud生态中的关键组件,用于服务注册与发现。这个名为`python-eureka-client`的项目正是为了...
Python系列课程-小白变大神-从零学Python-案例讲解-Demo实例 Python是一种跨平台的计算机程序设计语言。 python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本...
离线安装包,亲测可用
Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python源码Python 实例 - 贺卡 Python...
离线安装包,亲测可用