2017-10-10 42 views
-2
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语言的新手,这是第三天,我试图解决这个问题,但我找不到解决方案。你能帮我并告诉如何解决这个零事吗?干杯线程1:EXC_BREAKPOINT(代码= 1,子码= 0x100813b50)致命错误

fatal error: unexpectedly found nil while unwrapping an Optional value

+2

应用程序包中的声音文件不存在。并且不要发布截图,发布代码(文本) – vadian

+1

您是否在项目中添加了dog.wav或您的数组name.wav文件? –

+0

嗨,是的,我确实把所有的声音文件放在我的项目中。我正在尝试用声音练习,但是现在就这样对我进行惩罚。 –

回答

0

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

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

可能的原因: - 1)您正在使用的声音文件不存在于项目 2)在项目中的声音文件的一些名或扩展名(.WAV,.MP3)和错配他们的名字被用在代码中。

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

FUNC playSound(soundName:字符串){

}

相关问题