擅长:python、mysql、java
<p>在winsound.beep声函数只是windowsapibeep函数的包装。windows函数要求第一个参数(频率)介于37和32767之间。我怀疑任何超出范围的频率都超出了人类的听力范围。也可能是这样,因为旧的声卡,这个功能是为了支持这个范围。在</p>
<p>你在打电话winsound.beep声()和int(注意)返回的值都超出了该范围。你应该在呼叫哔哔声之前检查一下是否有效。在</p>
<pre><code>note = int(play[0])
if note > 37 and note < 32767:
winsound.Beep(note, int(duration*2000))
else:
print("error in input")
</code></pre>