使用 AVAudioSession 播放音频

Issue playing audio with AVAudioSession

当前代码:

@IBAction func sound1(sender: UIButton)
{
    var sound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Sound1", ofType: "wav")!)

    do {
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    } catch _ {
    }
    do {
        try AVAudioSession.sharedInstance().setActive(true)
    } catch _ {
    }

    var error: NSError?
    do {
        audioPlayer = try AVAudioPlayer(contentsOfURL: sound)
    } catch var error1 as NSError {
        error = error1
        audioPlayer = nil
    }
    audioPlayer.prepareToPlay()
    audioPlayer.volume = 1
    audioPlayer.play()
}

这是我在将此项目更新为 Swift 2.

之前的当前代码
audioPlayer = nil

我在尝试 运行 应用程序时遇到的问题是:

Cannot assign a value of type 'NilLiteralConvertible' to a value of type 'AVAudioPlayer'

这意味着您的变量 audioplayer 不是可选的,因此不能设置为 nil

要么将其设为可选,然后将其与 try? (注意 ? 一起使用,而不使用 do catch,或者不要尝试如果您想在 do catch.

中继续使用 try,请将其设置为 nil