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
答案 0 :(得分:0)
错误原因:项目中不存在正在使用的声音文件。请检查声音文件的名称或扩展名(.wav,.mp3)。
详细说明: 当您使用的值不存在时会发生此错误,在您的情况下,您尝试通过在数组中传递名称使用的声音文件不存在。
可能的原因: - 1)您正在使用的声音文件在项目中不存在 2)项目中声音文件的名称或扩展名(.wav,.mp3)不匹配,并且在代码中使用了它们的名称。
调试问题: - 1)尝试将声音文件的名称(soundArray [sender.tag - 1])打印为
中的第1行func playSound(soundName:String){
}