我得到的延迟似乎依赖于计算机,在AVFoundation和简单[NSSound play]之间。 我的节目正在播放AVPlayer内部的一个视频轨道和3个音轨。这很好用。独立地,该程序根据乐谱的信息为该测量的每个节拍生成节拍器。两个节拍器声音是非常短的文件,我加载在NSSound并使用[NSSound播放]来播放它们。我注意到我必须将节拍器播放转换大约90毫秒,以便完美同步。部分可能是节拍器位于节拍器文件中的确切时刻,但如果这是唯一的原因,则所有Mac计算机上的延迟都是相同的。但是,在不同的Mac上,必须调整此延迟。因为它是与音乐同步的节拍器节拍,所以它非常关键,因为轻微的移动使其听起来很棒。有没有办法直接从AVFoundation API计算这个延迟?或者为了补偿它或以另一种方式播放节拍器,以便AVPlayer和NSSound播放之间没有延迟?我会很感激这方面的一些联系或想法。 谢谢 ! 多米尼克 比利时Arpege音乐
答案 0 :(得分:0)
我建议您查看一个低级音频库来管理和即时播放您的音乐。 BASS是一个基于音频单元的低级库,可以对流进行精确,精确和快速的控制。通过操纵缓冲区,并可能创建混音器流(请参阅文档),您应该能够立即在任何设备上播放声音。具体来说,看一下手前缓冲声音并将其保存在记忆中,因为声音很短。