winsound.PlaySound('1.wav', winsound.SND_FILENAME)
time.sleep(0.15)
winsound.PlaySound('1.wav', winsound.SND_FILENAME)
1.wav
是一个长度为01s的声音文件
即使winsound.PlaySound
被注释掉,两个time.sleep
来电之间也会有超过一秒的延迟。但是,如果time.sleep
的参数增加超过1s
,那么我的代码将按预期运行。
我需要将延迟降低到0.15s
。
提前致谢。
答案 0 :(得分:1)
winsound模块似乎不受欢迎。它没有适应Python 3区分字节和字符串(http://bugs.python.org/issue11620),所以它不能播放存储在内存中的.wav文件。
您应该转移到其他音频模块,例如pyaudio
https://people.csail.mit.edu/hubert/pyaudio/
由于文件很短。您应该将整个文件读入内存。如果仍有间隙,您可以将文件加入到自身中间,然后播放0.15秒的静音,然后播放(该单个文件)。音频模块wave
,pydub
,audioop
或audiolab
可以进行加入。 How to join two wav files using python?