我的应用使用AudioKit生成声音并使用AKNodeRecorder
进行录制。
然后使用exportAsynchronously
方法创建音频文件,但总是在模拟器上失败。
我尝试mp4
,caf
,wav
作为输出格式,但所有这些都失败了。
(操场上的录音机演示也不起作用。)
在我的设备上(我将wav
设置为输出),它运行正常。
为什么它不适用于模拟器?
我使用Xcode9.1,Swift4,AudioKit4.0.3,iPhone6。
以下是我的代码。
振荡器1和振荡器2连接到mixer
,它连接到录像机。
func startRecording() {
recorder = try! AKNodeRecorder(node: mixer, file: tape)
oscillator1.amplitude = 0.3
oscillator2.amplitude = 0.3
AudioKit.start()
do {
try recorder.record()
}
catch {
print("Couldn't record")
}
}
func stopRecording() {
recorder.stop()
tape.exportAsynchronously(name: "audio",
baseDir: .temp,
exportFormat: .wav) { _,_ in }
AudioKit.stop()
}