在iOS上获得精确计时的最佳方法,用于对音符进行排序

在iOS上获得精确计时的最佳方法,用于对音符进行排序,ios,audio-player,sequencing,Ios,Audio Player,Sequencing,所以我想写一个基本的音乐音序器之类的东西。需要精确计时的东西。这是iOS9的 我现在正在使用libpd(纯数据),只是发送具有各种延迟的事件来实现我想要的效果。听起来不错,但不是很好 iOS上这种精确的音乐计时有“最佳实践”吗?我可以把笔记从libpd中删除,也许可以得到更好的效果吗 谢谢 如果您想要最精确的计时,那么在播放之前渲染音频将允许您仅播放一个音频文件,并且所有音频都将在正确的时间播放。您还可以让用户实时播放笔记,几乎没有延迟,因为您只播放一个其他音频曲目。您可以在用户进行更改时在后台

所以我想写一个基本的音乐音序器之类的东西。需要精确计时的东西。这是iOS9的

我现在正在使用libpd(纯数据),只是发送具有各种延迟的事件来实现我想要的效果。听起来不错,但不是很好

iOS上这种精确的音乐计时有“最佳实践”吗?我可以把笔记从libpd中删除,也许可以得到更好的效果吗


谢谢

如果您想要最精确的计时,那么在播放之前渲染音频将允许您仅播放一个音频文件,并且所有音频都将在正确的时间播放。您还可以让用户实时播放笔记,几乎没有延迟,因为您只播放一个其他音频曲目。您可以在用户进行更改时在后台线程上执行大部分渲染,这样主线程就不会被所有这些处理阻塞

这种预渲染音频的缺点包括处理渲染时间(对于较旧设备上的复杂音频,渲染时间可能只有几分之一秒或整整一分钟)、内存管理和代码复杂性。这将产生最好的结果,虽然

如果你想在飞行中操纵笔记,我建议你在事件发生时记录下来。当用户进行更改时,播放新的音频文件。这应该是比较容易实现的

如果您正在尝试使用某种MIDI音序器,那么我强烈推荐预渲染音频。它确实需要相当大的处理能力,编程可能会很困难,但结果对用户来说要好得多