【问题标题】:Application crashing when I try to play audio file using swift当我尝试使用 swift 播放音频文件时应用程序崩溃
【发布时间】:2023-11-09 22:45:01
【问题描述】:
func playCorrectSound() {
    let soundURL: NSURL = NSBundle.mainBundle().URLForResource("correct", withExtension: "m4a")!
    correctSound = try! AVAudioPlayer(contentsOfURL: soundURL)
    correctSound.play()


}

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if correctIncorrectField.text == answerField.text && correctIncorrectField.text != "" && answerField.text != "" {
        pointsNum = pointsNum + 10
        points.text = "\(pointsNum)"
        textField.text = ""
        textField.hidden = true
        correctIncorrect.hidden = false
        correctIncorrect.textColor = UIColor.greenColor()
        correctIncorrect.text = "Correct!"
        pauseAndDoStuff()
        playCorrectSound()

    }
    if correctIncorrectField.text != answerField.text && correctIncorrectField.text != "" && answerField.text != "" {
        pointsNum = pointsNum - 5
        points.text = "\(pointsNum)"
        textField.text = ""
        textField.hidden = true
        correctIncorrect.hidden = false
        correctIncorrect.textColor = UIColor.redColor()
        correctIncorrect.text = "Incorrect!"
        pauseAndDoStuff()
    }
    textField.resignFirstResponder()
    return true
}

由于某种原因,它崩溃了

let soundURL: NSURL = NSBundle.mainBundle().URLForResource("correct", withExtension: "m4a")!

一行和它唯一的说法:

致命错误:在展开 Optional 值时意外发现 nil。

【问题讨论】:

标签: ios swift avaudioplayer


【解决方案1】:

确保您的项目中存在correct.m4a 文件

并且它包含在Copy Bundle ResourcesTarget -> Build Phases

【讨论】: