在Mac笔记本电脑(OS 10.9.5)上,当播放来自python程序的声音时,我会在声音播放之前得到0.5 s的初始启动延迟。如果我在最后一分钟左右一直在播放声音,则没有这种延迟。我在网上看到过传递这种东西的引用,但没有太多的见识(例如http://music.columbia.edu/pipermail/portaudio/2014-November/016364.html)。我寻找了一种Apple API禁用它的方法(例如屏幕保护程序),但没有发现任何明显的现象。例如,此问题可能是笔记本电脑特有的节能功能。它不仅发生在电池电源上,而且在插入电源时也会发生。
问:从OSX上的python,如何告诉Mac做它需要做的一切,以避免第一次播放声音时出现0.5秒的延迟?
约束:可以通过子进程调用诸如pmset
之类的命令,除非它需要root(sudo)priv。即,仅可接受普通的用户空间命令。这也不是可以接受的:它很容易编写一个小线程来每30秒左右播放一次简短的〜安静的声音,但这将增加程序的复杂性并使用资源-必须有一种更好的方法。
最佳答案
延迟是否可能是由于尝试播放巨大的声音文件引起的?媒体文件是否在请求此请求之前先加载到内存中?
尝试将音频媒体加载到缓冲区,然后在播放信号后直接从缓冲区执行渲染
关于python - 如何避免Mac上的音频初始0.5秒延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680331/