ios - 如何使用 Audiokit 可视化当前的 AKSequencer 位置?

标签 ios swift audio audiokit aksequencer

我是 Audiokit 的新手。我想可视化正在运行的 AKSequencer 的当前位置。 是否有任何我可以连接的回调(如 AKMetronome)或监听器或运行的根时钟/主循环?或者我应该使用以任何方式“触发”GUI 的 AKCallbackInstrument 吗?

有没有人做过这件事谁愿意分享?谢谢!

最佳答案

我使用 AKCallbackInstrument 执行此操作。对于我写入 MIDI 事件的每个音序轨道,我有一个姐妹音序器轨道发送到 AKCallbackInstrument。当我为音轨编写一个 MIDI 事件时,我也将一个 GUI 事件写入姐妹回调轨道。

因为您只能将 MIDIStatus、MIDINote 和 MIDIVelocity 数据发送到回调乐器,所以您必须将信息任意编码为这些格式。例如,0 的 MIDINote 可能表示一种类型的 GUI 事件,MIDINote 1 表示其他类型。创建一些枚举可以让这变得简单。

当然,回调函数是在后台线程上调用的,所以不要忘记指定您的 GUI 更新应该发生在主线程上。

这种方法对我来说效果很好。

编辑:我怀疑你已经看到了this sample code这说明了一些非常相似的事情,但这个链接可能对遇到这个问题的其他人有用。

关于ios - 如何使用 Audiokit 可视化当前的 AKSequencer 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077493/

相关文章:

ios - 其他 View 之上的 UIView 不起作用

ios - 按比例填充 UIStackView?

swift - 当您在锁定屏幕 Xcode 6 中时应用程序正在运行

ios - 如何让 iOS VoIP 应用程序在响铃时服从“请勿打扰”?

ios - 如何在 iOS 中正确设置背景图像

ios - 加载后设置图像大小

ios - 快速在自定义容器 View 下添加阴影

ios - CNContacts 未从联系人列表中获取所有联系人

php - 在Web服务器上转换音频文件

audio - 使用 FFMPEG 将 16 channel 音频输入源拆分为 4 个单独的 4 channel 音频源以进行流式传输