Python声音("钟声")

时间:2020-03-05 18:40:13  来源:igfitidea点击:

我想让一个python程序通过发出蜂鸣声来提醒我完成任务的时间。目前,我使用" import os",然后使用命令行语音程序说"处理完成"。我宁愿它只是一个简单的"钟"。

我知道有一个功能可以在Cocoa应用程序中使用,NSBeep,但是我认为这与它没有任何关系。

我也尝试过print(\ a),但这没用。

我使用的是Mac,如果我们无法通过我的可可粉评论得知,则可能会有所帮助。

谢谢!

解决方案

回答

你有没有尝试过 :

import sys
sys.stdout.write('\a')
sys.stdout.flush()

在Mac OS 10.5上适用于我

实际上,我认为原始尝试也可以进行一些修改:

print('\a')

(我们只需要在字符序列周围加上单引号即可)。

回答

我必须在iTerm的活动终端配置文件中关闭"沉默终端铃声"选项,才能使print('\ a')工作。默认情况下,它在Terminal中似乎可以正常工作。

我们也可以使用Mac模块" Carbon.Snd"播放系统提示音:

>>> import Carbon.Snd
>>> Carbon.Snd.SysBeep(1)
>>>

Carbon模块没有任何文档,因此我不得不使用help(Carbon.Snd)来查看可用的功能。它似乎是Carbon的直接接口,因此Apple Developer Connection上的文档可能会有所帮助。

回答

如果我们已安装PyObjC(Python Objective-C桥)或者在OS X 10.5的系统python(PyObjC随附)上运行,则可以执行

from AppKit import NSBeep
NSBeep()

播放系统警报。