在斯威夫特游乐场播放声音

前端之家收集整理的这篇文章主要介绍了在斯威夫特游乐场播放声音前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Swift游乐场中播放AVFoundation的声音文件?理想情况下,文件将位于URL中,而不是本地驱动器中,但这并不重要.
我自己在黑暗中摸索着,但我认为这可能是由于游乐场的一些限制.考虑以下代码
#!/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.)

从积极的方面来说,能够在终端中运行它表明代码确实有效.

猜你在找的Swift相关文章