我希望我的程序按照以下方式做一些事情:
在此程序运行时:
如果按下该Enter
键,则停止当前音乐文件的播放。
这是我的代码:
# https://docs.python.org/2/library/winsound.html
from msvcrt import getch
import winsound
while True:
key = ord(getch())
if key == 13:
winsound.PlaySound(None, winsound.SND_NOWAIT)
winsound.PlaySound("SystemAsterisk", winsound.SND_ALIAS)
winsound.PlaySound("SystemExclamation", winsound.SND_ALIAS)
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
winsound.PlaySound("SystemHand", winsound.SND_ALIAS)
winsound.PlaySound("SystemQuestion", winsound.SND_ALIAS)
winsound.MessageBeep()
winsound.PlaySound('C:/Users/Admin/My Documents/tone.wav', winsound.SND_FILENAME)
winsound.PlaySound("SystemAsterisk", winsound.SND_ALIAS)
在文档中(请参阅我的代码第一行中的链接),我不确定天气是否winsound.SND_NOWAIT
可以像这样使用:winsound.SND_NOWAIT()
,或者像我在if
语句下的代码中尝试使用它的方式一样,或者两个语句是否产生相同的效果。
Enter
我的理解是,在我按下按钮之前,程序永远不会播放声音文件,因为这getch()
部分需要在继续之前。
然而,即使当我按下任何东西时这部分代码并不关心,程序不会卡在while
循环中吗?