Python 声音(“铃声”)

75 投票
7 回答
86453 浏览
提问于 2025-04-10 23:42

我想要一个Python程序在完成任务时发出哔哔声来提醒我。目前,我是用import os,然后通过命令行的语音程序说“任务完成”。我更希望它能简单地发出一个“铃声”。

我知道在Cocoa应用程序中有一个可以使用的函数,叫NSBeep,但我觉得这和我的需求没什么关系。

我也试过

print(\a)

但那并没有成功。

如果你没看出来,我是在用Mac,所以这可能会有帮助。

7 个回答

8

我试了试pygame模块里的混音器,它运行得很好。首先,你需要安装这个模块:

$ sudo apt-get install python-pygame

然后在程序里写这个:

from pygame import mixer
mixer.init() #you must initialize the mixer
alert=mixer.Sound('bell.wav')
alert.play()

使用pygame,你有很多自定义的选项,可以随意尝试一下。

12

如果你安装了PyObjC(这是Python和Objective-C之间的桥梁),或者你在使用OS X 10.5自带的Python(这个版本自带了PyObjC),你可以这样做:

from AppKit import NSBeep
NSBeep()

来播放系统的警告音。

94

你试过这个吗:

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

在我的Mac OS 10.5上,这个方法对我有效。

其实,我觉得你最开始的尝试也可以,只需要稍微改一下:

print('\a')

(你只需要在字符序列周围加上单引号就可以了)。

撰写回答