如何解决与高延迟输出设备如蓝牙耳机同步
在无法使用 AVFoundation 解决此问题后,我第一次评估 AudioKit。基本上,我只需要确切地知道输出设备实际何时播放声音缓冲区。对于延迟大于 100 毫秒的 BT 耳机(如 AirPods),这个问题变得更加重要。
较低级别的 AVFoundation 和 AudioUnit 有各种延迟和 io 缓冲区属性需要检查,但遗憾的是,这些属性并非在所有情况下都可靠准确。 (例如,在通过 Catalyst 运行的 Mac 上,AudioEngine 输入延迟始终为 0!)
对于 AudioKit,如果我使用带有 // nom = "6.1"
use nom::error::Error;
pub fn parse(raw: String) -> anyhow::Result<()> {
let (_,lines) = parse_multiline(&raw)
.map_err(|err| err.map(|err| Error::new(err.input.to_string(),err.code)))?;
// ...
}
函数的类,“at”时间是否考虑了输出延迟,以便声音实际上在此时播放?
或者 AudioKit 中是否有其他功能可以与输出事件进行时钟同步?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。