python winsound模块
(目标:出现交易下单、结束成交、数据中断等信号的时候,PC 发出声音提醒。)
python winsound模块
winsound是Python的内置包,无需下载。可以直接通过 import winsound 使用。 (其他第三方库都会在Python官方的pypi.python.org网站可以下载。)
winsound 模块提供了对Windows平台提供的基本声音播放机制的访问。它包括函数和几个常量。
1 winsound.Beep(frequency, duration)
Beep 电脑的扬声器。 频率参数指定声音的频率(赫兹),并且必须在37到32,767的范围内。 持续时间参数指定声音应持续的毫秒数。 如果系统不能发出扬声器,则会引发 RuntimeError。
2 winsound.MessageBeep([type=MB_OK])
从Platform API 调用基础 MessageBeep()函数。 这会播放注册表中指定的声音。 type参数指定要播放的声音。可能的值包括-1,MB_ICONASTERISK,MB_ICONEXCLAMATION,MB_ICONHAND,MB_ICONQUESTION和MB_OK,全部在下面描述。
值-1产生“simple beep”; 如果声音无法播放,这是最后的回退。
import winsound
winsound.Beep(1000,1000) def play(): # 检测文档中的possible sounds 哪些是你电脑的messageBeep
sounds=["-1","winsound.MB_ICONASTERISK","winsound.MB_ICONEXCLAMATION","winsound.MB_ICONHAND","winsound.MB_ICONQUESTION","winsound.MB_OK"]
for i in sounds:
try:
winsound.MessageBeep(eval(i))
except RuntimeError and NameError:
print("no {} messagebeep".format(i))
else:
print("has the sound flag{}".format(i))
play()
* eval 函数
eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。
eval(expression[, globals[, locals]])
expression : 表达式。
globals : 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals : 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
3 winsound.PlaySound(sound, flags)
PlaySound()从平台API 调用底层函数。声音参数可以是文件名,音频数据作为一个字符串,或None。它的解释取决于标志的值,它可以是下面描述的常量的按位或运算组合。如果声音参数是None,则任何当前正在播放的波形声音都会停止。如果系统显示错误,则引发RuntimeError。
* winsound.SND_FILENAME
支持WAV文件。该sound 参数是一个WAV文件的名称。不要与SND_ALIAS一起使用。
* winsound.SND_ALIAS
该声音参数是从注册表中声音的关联名称。如果注册表中不包含此类名称,则除非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)
| 声音参数 | 相关解释 |
| winsound.SND_LOOP | 反复播放声音。该SND_ASYNC标志也必须用于避免阻塞。不能用于SND_MEMORY。 |
| winsound.SND_MEMORY | 声音参数PlaySound()是WAV文件的存储器中的图像,为一个字符串。注意这个模块不支持异步播放内存映像,所以这个标志的组合SND_ASYNC将会提升RuntimeError |
| winsound.SND_PURGE |
停止播放指定声音的所有实例。注意现代Windows平台不支持此标志。 |
| winsound.SND_ASYNC | 立即返回,允许声音异步播放。 |
| winsound.SND_NODEFAULT | 如果找不到指定的声音,请不要播放系统默认声音。 |
| winsound.SND_NOSTOP | 不要中断当前播放的声音。 |
| winsound.SND_NOWAIT |
如果声音驱动程序正忙,请立即返回。注意现代Windows平台不支持此标志。 |
| winsound.MB_ICONASTERISK | 播放SystemDefault声音。 |
| winsound.MB_ICONEXCLAMATION | 播放SystemExclamation声音。 |
| winsound.MB_ICONHAND | 播放SystemHand声音。 |
| winsound.MB_ICONQUESTION | 播放SystemQuestion声音。 |
| winsound.MB_OK | 播放SystemDefault声音。 |
python winsound模块的更多相关文章
- python 各模块
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
随机推荐
- 通信接口是webservice快还是scoket快解决方案
通信接口是webservice快还是scoket快webservice和scoket都可以做为通信接口,一个走HTTP访问,一个走TCP协议访问 问1:通讯速度是webservice快还是scoket ...
- numpy模块、matplotlib模块、pandas模块
目录 1. numpy模块 2. matplotlib模块 3. pandas模块 1. numpy模块 numpy模块的作用 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学计算 实 ...
- 那些jquery或javascript花招
js定时器 定时器: 1)反复性定时器:格式:window.setInterval(“fn()”,1000); a)会反复执行 b)第二个参数是以毫秒计算的 2)一次性定时器:格式:window.se ...
- HDU-2444-The Accomodation of Students(二分图判定,最大匹配)
链接: https://vjudge.net/problem/HDU-2444#author=634579757 题意: There are a group of students. Some of ...
- python---注册表操作
手动打开注册表 WIN+R regedit 利用QSettings 一.创建子健和键值对 settings = QSettings("HKEY_CURRENT_USER\\So ...
- ESP8266 SPI通信
设备与设备之间的通信往往都伴随着总线的使用,而用得比较多的就当属于SPI总线和I2C总线,而恰巧NodeMcu也支持这两种总线通信 1. SPI总线——SPI类库的使用 SPI是串行外设接口(Seri ...
- HTML5测试(一)
HTML5测试一 1. 问题:HTML5 之前的 HTML 版本是什么? A.HTML 4.01 B.HTML 4 C.HTML 4.1 D.HTML 4.9 答案:A HTML5 是 HTML 最新 ...
- js怎么上传文件夹
1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...
- [Noip模拟题]宠物之战senso
Description 众所周知,moreD的宠物已经被moreD奴役得体无完肤.这只宠物实在忍无可忍,把自己每天走魔法树的经历告诉了 自己的宠物.同时他还说明了自己爬树是多么地慢,以至于moreD每 ...
- Proxy-代理器(预计vue3.0实现双向绑定的方式)
todo 常见的基于数据劫持的双向绑定有两种实现,一个是目前Vue在用的Object.defineProperty,另一个是ES2015中新增的Proxy,而Vue的作者宣称将在Vue3.0版本后加入 ...