Audiokit 中 AKButton 的回调

callback for AKButton in Audiokit

我正在尝试了解如何按照 Audiokit Docs 我的代码中的说明将回调附加到 AudioKit 上的按钮:

import UIKit
import AudioKit
import AudioKitUI

class ViewController: UIViewController {
    let sounds = AKSampler()
    @IBOutlet weak var tam: AKButton!
    override func viewDidLoad() {
        do {
            let hiTomFile = try AKAudioFile(readFileName: "hi_tom_D2.wav")
            try sounds.loadAudioFiles([hiTomFile])
            AudioKit.output = sounds
        } catch {
            print ("error reading file")
        }
        do {
            try AudioKit.start()
        } catch {
            AKLog("AudioKit did not start!")
        }
        // Bad access here!
        tam.callback = { button in self.sounds.play() }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

但是我的访问权限很差。关于我做错了什么的任何提示?

我能让你的按钮正常工作。你的情节提要中有一个 UIButton 但我创建了一个通用的 UIView,将模块 "AudioKitUI" 中的 class 更改为 "AKButton" 然后将其连接到你的 "tam" 声明并单击它运行回调,没有错误。