首页 文章

解决AVPlayer和NSSound之间的延迟问题

提问于
浏览
0

我在AVFoundation和简单的[NSSound play]之间获得了似乎依赖于计算机的延迟 . 我的节目正在播放AVPlayer内部的一个视频轨道和3个音轨 . 这很好用 . 独立地,该程序根据乐谱的信息为该测量的每个节拍生成节拍器 . 两个节拍器声音是非常短的文件,我加载在NSSound并使用[NSSound播放]来播放它们 . 我注意到我必须将节拍器播放转换大约90毫秒,以便完美同步 . 部分可能是节拍器位于节拍器文件中的确切时刻,但如果这是唯一的原因,则所有Mac计算机上的延迟都是相同的 . 但是,在不同的Mac上,必须调整此延迟 . 因为它是与音乐同步的节拍器节拍,所以它非常关键,因为轻微的移动使其听起来很棒 . 有没有办法直接从AVFoundation API计算这个延迟?或者为了补偿它或以另一种方式播放节拍器,以便AVPlayer和NSSound播放之间没有延迟?我会很感激这方面的一些联系或想法 . 谢谢 !比利时Dominique Arpege音乐

1 回答

  • 0

    我建议调查一个低级音频库来管理和即时播放你的音乐 . BASS是一个基于音频单元的低级库,可以对流进行精确,精确和快速的控制 . 通过操纵缓冲区,并可能创建混音器流(请参阅文档),您应该能够立即在任何设备上播放声音 . 具体来说,看一下手前缓冲声音并将其保留在记忆中,因为声音很短 .

相关问题