sta*_*zel 53 python audio macos terminal
我希望有一个python程序通过发出哔声来完成任务时提醒我.目前,我使用import os
然后使用命令行语音程序来说"处理完成".我更倾向于它是一个简单的"钟声".
我知道有一个可以在Cocoa应用程序中使用的函数NSBeep
,但我认为这与此有很大关系.
我也试过了
print('\a')
Run Code Online (Sandbox Code Playgroud)
但那没用.
我正在使用Mac,如果你不能通过我的Cocoa评论来说明,那么这可能会有所帮助.
gbc*_*gbc 69
你有没有尝试过 :
import sys
sys.stdout.write('\a')
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
这适用于我在Mac OS 10.5上
实际上,我认为您的原始尝试也可以进行一些修改:
print('\a')
Run Code Online (Sandbox Code Playgroud)
(你只需要围绕字符序列的单引号).
Bar*_*ark 10
如果你安装了PyObjC(Python-Objective-C桥)或者在OS X 10.5的系统python(随PyObjC一起提供)上运行,你可以做
from AppKit import NSBeep
NSBeep()
Run Code Online (Sandbox Code Playgroud)
播放系统警报.
我从pygame模块尝试了混音器,它工作正常.首先安装模块:
$ sudo apt-get install python-pygame
Run Code Online (Sandbox Code Playgroud)
然后在程序中写下这个:
from pygame import mixer
mixer.init() #you must initialize the mixer
alert=mixer.Sound('bell.wav')
alert.play()
Run Code Online (Sandbox Code Playgroud)
有了pygame,你有很多自定义选项,你可以另外试验.
我不得不在iTerm的活动终端配置文件中关闭"Silence terminal bell"选项print('\a')
才能工作.它在Terminal中默认工作正常.
您也可以使用Mac模块Carbon.Snd
播放系统蜂鸣声:
>>> import Carbon.Snd
>>> Carbon.Snd.SysBeep(1)
>>>
Run Code Online (Sandbox Code Playgroud)
Carbon模块没有任何文档,因此我必须使用它help(Carbon.Snd)
来查看可用的功能.它似乎是Carbon的直接接口,因此Apple Developer Connection上的文档可能会有所帮助.
归档时间: |
|
查看次数: |
56613 次 |
最近记录: |