我正在玩建立一个像鼓机一样播放节奏的蟒蛇脚本.我用过PyGame来处理音频.但是,我在呼叫播放和听到实际音频之间遇到了重大/不可接受的延迟.
我将以下代码粘贴到交互式解释器中,然后一次又一次地执行最后一行:
import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
s = pygame.mixer.Sound('snare.wav')
s.play(loops=0, maxtime=0, fade_ms=0)
Run Code Online (Sandbox Code Playgroud)
按下输入和听到音频之间的时间是我最好的猜测大约400毫秒,确实明显和不可接受.延迟与我单击VLC中的播放按钮并等待播放音频的情况大致相同.
我在Windows和Ubuntu上都试过这个结果.我的电脑有点旧,英特尔酷睿i3,2.53GHz,但我认为这应该不是问题.
我该怎么办?
在循环中:
此代码演示了相同的延迟.
for i in range(10):
print i
s.play(loops=0, maxtime=0, fade_ms=0)
sleep(2)
Run Code Online (Sandbox Code Playgroud)