首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决AVPlayer和NSSound之间的延迟

解决AVPlayer和NSSound之间的延迟
EN

Stack Overflow用户
提问于 2014-04-16 18:44:35
回答 1查看 236关注 0票数 0

在AVFoundation和简单的NSSound play之间,我得到了一个似乎依赖于计算机的延迟。我的程序正在播放一个AVPlayer内部排列的一个视频轨道和3个音频轨道。这工作得很好。独立地,程序根据乐谱中的信息为小节的每个节拍生成节拍器。这两个节拍器声音是我在NSSound中加载并使用NSSound play播放的非常短的文件。我注意到我必须将节拍器的回放时间调整到大约90毫秒,这样它才能完全同步。其中一部分可能是节拍器的影响在节拍器文件中的确切时刻,但如果这是唯一的原因,那么这个延迟在所有Mac计算机上都是相同的。但是,在不同的Mac上,必须调整此延迟。由于它是与音乐同步的节拍器节拍,所以它非常关键,因为轻微的变化使它听起来不是节拍。有没有办法直接从AVFoundation接口计算这个延迟?或者补偿它,或者用另一种方式播放节拍器,这样AVPlayer和NSSound play之间就不会有延迟?我会感谢一些关于这方面的链接或想法。谢谢!Dominique Arpege音乐,比利时

EN

回答 1

Stack Overflow用户

发布于 2017-06-20 21:38:03

我建议查看低级音频库来管理并立即播放您的音乐。BASS是一个建立在音频单元之上的低级库,它允许对流进行精细、精确和快速的控制。通过操作你的缓冲区,并可能创建一个混音流(参考文档),你应该能够立即在任何设备上播放声音。具体地说,考虑到事先缓冲声音,并将其保存在内存中,因为它是一个简短的声音。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23107180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档