我正在尝试录制由本地音频文件动态生成的音频输出。
所以,假设我有一个音频文件“drums.mp3”,我现在正在播放这样的循环:
var drumSoundEffect: AVAudioPlayer!
var repeatTimer: NSTimer!
var url: NSURL!
let soundInterval: NSTimeInterval = 1
@IBAction func playSoundTapped(sender: AnyObject) {
initSound()
initAndStartTimer()
}
func initSound() {
let path = NSBundle.mainBundle().pathForResource("drums.mp3", ofType: nil)!
url = NSURL(fileURLWithPath: path);
}
func initAndStartTimer() {
repeatTimer = NSTimer.scheduledTimerWithTimeInterval(soundInterval, target: self, selector: #selector(playSound), userInfo: nil, repeats: true)
repeatTimer.fire()
}
func playSound() {
do {
let sound = try AVAudioPlayer(contentsOfURL: url)
drumSoundEffect = sound
sound.play()
} catch {
//an error occurred...
}
}
当我尝试添加AVAudioRecorder功能时,它似乎只能从麦克风录制,而不是我正在生成的音频...从我在互联网上发现的似乎AVFoundation只能录制从麦克风,所以这不是我的方案的正确选择。 This示例似乎很有希望,但我根本不知道如何从中创建一个可用的示例应用程序。我知道这个问题很通用,但也许有人可以给我一个暗示呢?
非常感谢。