在Mac笔记本电脑上(OS 10.9.5),当播放来自python程序的声音时,我会在声音播放之前得到0.5 s的初始启动延迟。如果我在最后一分钟左右播放声音,则没有这种延迟。我已经看到在线传递对这种事物的引用,但没有太多的见解(例如,http://music.columbia.edu/pipermail/portaudio/2014-November/016364.html)。我寻找一种Apple API的方式来禁用它(比如屏幕保护程序),但没有看到任何明显的东西。这个问题可能特定于笔记本电脑,例如作为省电功能。它不仅发生在电池电量上,而且还发生在插入电源时。如何避免Mac上的音频初始0.5s延迟?
问题:从OSX上的python,如何告诉Mac做任何需要做的事情来避免第一次播放声音时的0.5秒延迟?
约束:通过子进程调用一些像pmset
这样的命令是可以接受的,除非它需要root(sudo)priv的;即只有普通的用户空间命令是可以接受的。也是不可接受的:它每隔30秒左右就可以轻松地编写一段简短的无声音,但这会增加程序和使用资源的复杂性 - 必须有更好的方法来实现它。
这将是有用的,如果你能有一个最小的例子,这样的人可以尝试瑞普你的问题的渲染。 – jaket 2015-02-23 19:48:41
好主意,@jaket,最简单的例子都很棒。我用pyaudio嘲笑了一个,并没有得到0.5s的延迟,这非常有趣。它很难提供我的案例的一个最小例子,这是一个名为PsychoPy的桌面应用程序播放声音,它使用pyo来播放声音。当使用pysoundcard/pysoundfile而不是pyo时,我也会看到延迟,也是0.5s。我希望这是可以用mac系统设置修复的东西,但这似乎不太可能。 – jrgray 2015-02-23 21:09:22