mti*_*ger 122 python audio alarm
我的情况是我的代码需要很长时间才能运行,我不想一直盯着它,但想知道什么时候完成.
如何完成(Python)代码声音的"警报"?我正在考虑让它在到达代码末尾时播放.wav文件...
这甚至是一个可行的想法吗?如果是的话,我怎么能这样做?
Rya*_*axe 189
import winsound
duration = 1000  # milliseconds
freq = 440  # Hz
winsound.Beep(freq, duration)
其中freq是以Hz为单位的频率,持续时间以毫秒为单位.
import os
duration = 1  # seconds
freq = 440  # Hz
os.system('play -nq -t alsa synth {} sine {}'.format(duration, freq))
要使用此示例,您必须安装sox.
在Debian/Ubuntu/Linux Mint上,在终端中运行:
sudo apt install sox
在Mac上,在终端中运行(使用macports):
sudo port install sox
import os
os.system('say "your program has finished"')
import os
os.system('spd-say "your program has finished"')
您需要speech-dispatcher在Ubuntu(或其他发行版上的相应包)中安装该包:
sudo apt install speech-dispatcher
小智 27
 print('\007')
播放铃声
Sau*_*tro 24
这个似乎适用于Windows和Linux*(来自这个问题):
def beep():
    print "\a"
beep()
在Windows中,可以放在最后:
import winsound
winsound.Beep(500,1000)
where 500 is the frequency in Herz
      1000 is the duration in miliseconds
*:要在Linux上工作,您可能需要执行以下操作(来自QO的评论):
Ish*_*are 17
可以使用ubuntu语音调度程序:
import subprocess
subprocess.call(['speech-dispatcher'])        #start speech dispatcher
subprocess.call(['spd-say', '"your process has finished"'])
为什么要使用python?您可能忘记删除它并将其签入存储库。只需使用 && 和另一个命令运行你的 python 命令来运行警报。
python myscript.py && 
    notify-send 'Alert' 'Your task is complete' && 
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
或将函数放入您的 .bashrc。我在这里使用 apython 但你可以覆盖 'python'
function apython() {
    /usr/bin/python $*
    notify-send 'Alert' "python $* is complete"
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
}
在OS X Yosemite(10.10.1)上,Kuchi的回答对我没有用.我确实找到了afplay命令(这里),你可以从Python调用它.无论终端音响铃是否启用且没有第三方库,这都有效.
import os
os.system('afplay /System/Library/Sounds/Sosumi.aiff')
我假设您想要标准的系统铃声,并且不想关心频率和持续时间等,您只想要标准的Windows铃声。
import winsound
winsound.MessageBeep()
请参阅:Python Sound("Bell")
 
当我想要做同样的事情时,这帮助了我.
所有学分都转到gbc
你有没有尝试过 :
import sys
sys.stdout.write('\a')
sys.stdout.flush()
这适用于我在Mac OS 10.5上
实际上,我认为您的原始尝试也可以进行一些修改:
print('\a')
(你只需要围绕字符序列的单引号).
可以通过以下代码来完成:
import time
time.sleep(10)   #Set the time
for x in range(60):  
    time.sleep(1)
    print('\a')