我正在尝试实现录制某些东西(麦克风或振荡器或任何其他输入)的能力,我需要它在录制完成后立即执行回调方面尽可能准确,因此我认为ClipRecorder可以在这里为我提供帮助。这段代码进入一个简单的视图控制器的viewDidLoad
函数中,该代码执行并结束,但是剪辑记录器的回调从未执行。
您能告诉我我做错了什么吗?我对AudioKit非常陌生,因此可能是我对事情的怀念。这是代码:
AKSettings.bufferLength = .shortest
AKSettings.defaultToSpeaker = true
try! AKSettings.setSession(category: .playAndRecord)
let oscillator = AKOscillator()
let oscMixer = AKMixer(oscillator)
AudioKit.output = oscMixer
AudioKit.start()
oscillator.start()
let clipRecorder = AKClipRecorder(node: oscMixer)
do{
AKLog("1")
try clipRecorder.recordClip(time: 0, duration: 2, tap: nil, completion: { url, something, err in
AKLog("recorded clip")
oscillator.stop()
})
AKLog("2")
} catch let error as ClipRecordingError {
print("\(String(describing: error.errorDescription))")
} catch {
print("something general")
}
日志1,2被打印,“记录剪辑”不被打印。
非常感谢!
最佳答案
您必须调用clipRecorder.play()或clipRecorder.play(at :)。
关于ios - AudioKit-无法使AKClipRecorder工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47341502/