我想使用 Swift 中的 AVAudioEngine()
更改声音的音调。这是我的代码:
func setUpEngine() {
let fileString = NSBundle.mainBundle().pathForResource("400", ofType: "wav")
let url = NSURL(fileURLWithPath: fileString!)
do {
try audioFile = AVAudioFile(forReading: url)
print("done")
}
catch{
}
}
var engine = AVAudioEngine()
var audioFile = AVAudioFile()
var audioPlayerNode = AVAudioPlayerNode()
var changeAudioUnitTime = AVAudioUnitTimePitch()
override func viewDidLoad() {
setUpEngine()
let defaults = NSUserDefaults.standardUserDefaults()
audioPlayerNode.stop()
engine.stop()
engine.reset()
engine.attachNode(audioPlayerNode)
changeAudioUnitTime.pitch = 800
engine.attachNode(changeAudioUnitTime)
engine.connect(audioPlayerNode, to: changeAudioUnitTime, format: nil)
engine.connect(changeAudioUnitTime, to: engine.outputNode, format: nil)
audioPlayerNode.scheduleFile(audioFile, atTime: nil, completionHandler: nil)
engine.startAndReturnError(nil)
audioPlayerNode.play()
我的代码如下(我已经闭合了括号)。大部分代码都是从网上找到的,但是在 这一行出现了错误。
engine.startAndReturnError(nil)
当我删除这行代码时,会出现以下错误:“Value of type has no member”。任何帮助都将不胜感激。我在xCode中使用Swift和单个视图应用程序。此外,当我尝试启动AVAudioPlayerNode时,还会出现异常:“required condition is false:_engine - > IsRunning()”。