线程1:EXC_BREAKPOINT(代码= 1,子代码= 0x100813b50)致命错误

时间:2017-10-10 06:59:07

标签: ios swift

    import UIKit
    import AVFoundation

    class ViewController: UIViewController, AVAudioPlayerDelegate  {

    var audioPlayer : AVAudioPlayer!
    let soundArray = ["dog","cow","bear","pig"]

    override func viewDidLoad() {
        super.viewDidLoad()        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func dogSound(_ sender: UIButton) {
       playSound(soundName: soundArray[sender.tag - 1])
    }

    func playSound (soundName : String) {
        let soundURL = Bundle.main.url(forResource:soundName, withExtension: "wav")
        do {
            audioPlayer = try AVAudioPlayer(contentsOf:  soundURL!)
        }

        catch  {
            print(error)
        }
        audioPlayer.play()
    }
}

你可以看到下面的图片我有一个展开问题。我是Swift语言的新手,这是第3天,我正在尝试解决这个问题,但我无法找到解决方案。你能帮助我并告诉我如何解决这个问题吗?干杯

fatal error: unexpectedly found nil while unwrapping an Optional value

1 个答案:

答案 0 :(得分:0)

错误原因:项目中不存在正在使用的声音文件。请检查声音文件的名称或扩展名(.wav,.mp3)。

详细说明: 当您使用的值不存在时会发生此错误,在您的情况下,您尝试通过在数组中传递名称使用的声音文件不存在。

可能的原因: - 1)您正在使用的声音文件在项目中不存在 2)项目中声音文件的名称或扩展名(.wav,.mp3)不匹配,并且在代码中使用了它们的名称。

调试问题: - 1)尝试将声音文件的名称(soundArray [sender.tag - 1])打印为

中的第1行

func playSound(soundName:String){

}