(目标:出现交易下单、结束成交、数据中断等信号的时候,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模块的更多相关文章

  1. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  2. Python标准模块--threading

    1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...

  3. Python的模块引用和查找路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...

  4. Python Logging模块的简单使用

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

  5. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  6. python基础-模块

    一.模块介绍                                                                                              ...

  7. python 安装模块

    python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...

  8. python Queue模块

    先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...

  9. python logging模块可能会令人困惑的地方

    python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...

随机推荐

  1. Java注解Annotation与自定义注解详解

    Java注解简介 开发中经常使用到注解,在项目中也偶尔会见到过自定义注解,今天就来探讨一下这个注解是什么鬼,以及注解的应用场景和如何自定义注解. 下面列举开发中常见的注解 @Override:用于标识 ...

  2. 【NOIP2017提高组模拟6.27】C

    题目 蜘蛛精大爷是世界上最爷的爷,ta的图论专著<蜘蛛精大爷教你学做人OI之图论>正在热卖,只要233美元一本,每人限购一本......在某弱的不懈要求下,ta给某弱出了一道题,然而某弱太 ...

  3. Mysql基本原理和概念

    一.引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问题.通 ...

  4. java+struts上传文件夹文件

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

  5. (WCF) There is already a listener on IP endpoint 0.0.0.0:9999.

    有個nettcpbinding, service host總是不能起來,出現如題錯誤. 查了下,同樣的程序并沒有在進程裏面,但是看起來好像有其他的程序在占用這個Port C:\Program File ...

  6. java语言课堂动手动脑

    1 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是 ...

  7. 8.Python标识符命名规范

    简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量.函数.类.模块以及其他对象的名称. Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如 ...

  8. 梯度、Hessian矩阵、平面方程的法线以及函数导数的含义

    本文转载自: Xianling Mao的专栏 =========================================================================== 想 ...

  9. Qt数据库之数据库连接池

     前面的章节里,我们使用了下面的函数创建和取得数据库连接: void createConnectionByName(const QString &connectionName) { QSql ...

  10. Python 基础知识总结

    strptime() 根据指定的格式将一个时间字符串解析为一个时间元组. time.strptime(time_str[,format]) 返回strcut_time对象 #time_str 是时间字 ...