python - 如何避免Mac上的音频初始0.5秒延迟?

标签 python macos audio

在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/

相关文章:

python - 如何检查变量是否等于一个字符串或另一个字符串?

python - 创建新用户名而不是更新用户名

macos - 禁用 Safari 14.x 的缓存

java - 将音频从客户端流式传输到服务器再到多个客户端 Java

wpf - WPF-当“文本框”无法再接收任何输入时,播放默认的Windows声音

python - 使用 Newspaper3k 进行网页抓取,仅获得 50 篇文章

python - 使用标记和文本 fixture 选项时无法从命令行运行 py.test

objective-c - orderFrontStandardAboutPanel 不会出现在前面

node.js - 安装node和npm的问题

android - 在Android上捕获原始麦克风输入