将AKSequencer输出保存到本地文件
我在使用音序器将midi保存到本地文件时遇到问题。 正在创建和保存音频,但音频输出完全不同。
这是我正在使用的代码:
var sequencer : AKSequencer? let piano = AKMIDISampler() var offlineRender = AKOfflineRenderNode() do { try piano.loadWav("mixloop") piano >>> offlineRender AudioKit.output = offlineRender sequencer = AKSequencer(filename: "melody") sequencer?.setGlobalMIDIOutput(piano.midiIn) AudioKit.start() let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! let destAudioFile = docs.appendingPathComponent("rendered11.caf") offlineRender.internalRenderEnabled = false self.sequencer?.play() let seconds = sequencer?.length.seconds try self.offlineRender.renderToURL(destAudioFile, seconds: seconds ?? 4) self.sequencer!.stop() self.offlineRender.internalRenderEnabled = true print("Done! Rendered to " + destAudioFile.path) // test the local song using just AVAudioPlayer playLocalSong(url: destAudioFile) } catch { print(error) return }
我正在附加mixloop.wav,melody.mid和输出render11.caf。 档
如果我改变这一行:
AudioKit.output = offlineRender
至
AudioKit.output = piano
声音是应该的,有16秒的声音而不是前几秒。
上面的代码有问题吗?
提前致谢
- 如何在Swift中逐个更改UITextView中某些单词的样式?
- 谁能告诉我为什么UIImage.ciimage是空的
- iOS:如何在login后authentication用户(用于自动login)?
- YouTube API不能在iOS(iPhone / iPad)上工作,但在桌面浏览器中正常工作?
- Xcode 9 – Alamofire Pods。 命令/ bin / sh失败,退出代码为1
- 在iOS 7下,如何隐藏和显示状态栏(每当我想要的时候)
- 如何使用swift显示和/或隐藏子视图
- CALayer按照从左下到右上的尺寸缩放animation
- 任何人都可以在背景/退出时使用 setBrightness]?