如何在Swift 3中正确放置背景音乐?

时间:2017-09-23 21:06:34

标签: ios swift

我正在创建一个游戏,我在他们开始玩游戏时实现了背景音乐,但出于某种原因,我在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()

1 个答案:

答案 0 :(得分:0)

只要存在名为" puzzle.mp3"的文件,您的代码就会执行得很好。包含在应用程序包中。

您获得的错误很可能是由于:

Bundle.main.path(forResource: "puzzle", ofType: "mp3")!

你强行展开一个可选的String,如果该应用无法找到名为" puzzle.mp3"的资源,那么这将是零。在运行时。这可能是因为你的mp3在编译时没有被复制到软件包中。

要解决此问题,请告诉编译器将其添加到捆绑包中:

  • 点击左侧窗格中的项目。
  • 从中选择您的目标 左上角的下拉菜单。
  • 点击"构建阶段"标签。
  • 点击"复制捆绑资源"扩大它。
  • 单击加号并选择您的mp3以将其添加到捆绑包中。