【发布时间】:2019-09-16 10:16:03
【问题描述】:
如何复制
- 我将“Callback Instrument”游乐场(有效)复制到了一个新项目中。通过 pod 安装 AudioKit(4.8 版)
- 我删除了回调的实现,只放了一个
print()语句。 - 打开工作区并运行项目。
import UIKit
import AudioKit
class ViewController: UIViewController {
var sequencer = AKAppleSequencer()
var tempo = 120.0
var division = 1
var callbacker = AKMIDICallbackInstrument { statusByte, note, _ in
print("Callback called")
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let clickTrack = sequencer.newTrack()
for i in 0 ..< division {
clickTrack?.add(noteNumber: 80,
velocity: 100,
position: AKDuration(beats: Double(i) / Double(division)),
duration: AKDuration(beats: Double(0.1 / Double(division))))
clickTrack?.add(noteNumber: 60,
velocity: 100,
position: AKDuration(beats: (Double(i) + 0.5) / Double(division)),
duration: AKDuration(beats: Double(0.1 / Double(division))))
}
clickTrack?.setMIDIOutput(callbacker.midiIn)
clickTrack?.setLoopInfo(AKDuration(beats: 1.0), numberOfLoops: 10)
sequencer.setTempo(tempo)
sequencer.play()
}
}
会发生什么
- 未调用回调(未打印打印日志)
- 我可以听到添加音符的声音。
- 此代码适用于示例 Playground。
【问题讨论】:
标签: audiokit