我自己在黑暗中摸索着,但我认为这可能是由于游乐场的一些限制.考虑以下代码:
#!/usr/bin/swift import Cocoa import AVFoundation var error: NSError? println("Hello,Audio!") var url = NSURL(fileURLWithPath: "/Users/somebody/myfile.mid") // Change to a local midi file var midi = AVMIDIPlayer(contentsOfURL: url,soundBankURL: nil,error: &error) if midi == nil { if let e = error { println("AVMIDIPlayer Failed: " + e.localizedDescription) } } midi.play(nil) while midi.playing { // Spin (yeah,that's bad!) }
如果我们在终端中运行这个快速脚本,它工作正常并播放midi文件,但是如果你在游乐场中运行代码,你会得到
AVMIDIPlayer Failed: The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error -1.)
从积极的方面来说,能够在终端中运行它表明代码确实有效.