当前位置:  开发笔记 > 编程语言 > 正文

Python声音("贝尔")

如何解决《Python声音("贝尔")》经验,为你挑选了4个好方法。

我希望有一个python程序通过发出哔声来完成任务时提醒我.目前,我使用import os然后使用命令行语音程序来说"处理完成".我更倾向于它是一个简单的"钟声".

我知道有一个可以在Cocoa应用程序中使用的函数NSBeep,但我认为这与此有很大关系.

我也试过了

print('\a')

但那没用.

我正在使用Mac,如果你不能通过我的Cocoa评论来说明,那么这可能会有所帮助.



1> gbc..:

你有没有尝试过 :

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

这适用于我在Mac OS 10.5上

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

print('\a')

(你只需要围绕字符序列的单引号).


@kecske在终端中通常[禁用音响](http://www.cyberciti.biz/faq/how-to-linux-disable-or-turn-off-beep-sound-for-terminal/)配置,这意味着这"工作",但没有噪音(错误,只是注意到你的评论发布于大约9个月前)
我在ubuntu上,它对我不起作用.任何的想法?

2> Barry Wark..:

如果你安装了PyObjC(Python-Objective-C桥)或者在OS X 10.5的系统python(随PyObjC一起提供)上运行,你可以做

from AppKit import NSBeep
NSBeep()

播放系统警报.



3> Abhranil Das..:

我从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,你有很多自定义选项,你可以另外试验.



4> markpasc..:

我不得不在iTerm的活动终端配置文件中关闭"Silence terminal bell"选项print('\a')才能工作.它在Terminal中默认工作正常.

您也可以使用Mac模块Carbon.Snd播放系统蜂鸣声:

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

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

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有