我正在创建一个游戏,我在他们开始玩游戏时实现了背景音乐,但出于某种原因,我在viewDidLoad中遇到了错误代码:fatal error: unexpectedly found nil while unwrapping an Optional value
。任何人都可以检查我做错了什么。我有import AVFoundation
并声明var audioPlayer = AVAudioPlayer()
override func viewDidLoad() {
self.createScene()
// Playing Audio.
do {
audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath:
Bundle.main.path(forResource: "puzzle", ofType: "mp3")!))
audioPlayer.prepareToPlay()
var audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback)
}
catch {
}
}
catch {
print(error)
}
audioPlayer.play()
答案 0 :(得分:0)
只要存在名为" puzzle.mp3"的文件,您的代码就会执行得很好。包含在应用程序包中。
您获得的错误很可能是由于:
Bundle.main.path(forResource: "puzzle", ofType: "mp3")!
你强行展开一个可选的String
,如果该应用无法找到名为" puzzle.mp3"的资源,那么这将是零。在运行时。这可能是因为你的mp3在编译时没有被复制到软件包中。
要解决此问题,请告诉编译器将其添加到捆绑包中: