如何在Python中发出警报声?
我想在Python里用哔哔声做一个警报声,但一直没成功。
我试着做了这样的代码:
winsound.Beep(700,500)
winsound.Beep(710,500)
winsound.Beep(720,500)
...
有没有更好的方法来实现这个?并且能播放出来?
不想用外部文件……
谢谢!
2 个回答
2
我记得小时候在QBASIC上用过类似的东西:
DO
FOR n = -180 TO 180 STEP .1
f = 440 + 50 * SIN(n)
SOUND f, 1
NEXT
LOOP
SOUND f, 1
应该和 winsound.Beep
是一样的,都是用来发出声音的,只不过是通过音调和持续时间来控制。以前用的时候效果很好,但自从我从这里拿到这个代码片段后,我就不太确定我是不是完全按照这个方法做的。
这只是给你一个大概念..
3
首先,你需要录制一个高质量的警报声,并把它保存为WAV格式的文件。可以使用Audacity这个工具,它非常好用,可能还会提供合适的声音生成器来帮助你完成这个任务。
winsound.PlaySound('siren.wav', winsound.SND_FILENAME)
另外,你也可以把这个声音直接放进脚本里,变成一个字符串,这样就不需要单独的文件了:
siren = base64.b64decode('''
<base64-encoded data>
''')
winsound.PlaySound(siren, winsound.SND_MEMORY)
要为