2016-08-09 80 views
1

此程序之前工作,我不相信我改變了任何東西。這是代碼。我得到了拋出的錯誤:文件未找到:bgMusicAVAudioPlayer不工作了

import SpriteKit 
import AVFoundation 

class GameScene: SKScene, SKPhysicsContactDelegate { 

    var backgroundMusicPlayer = AVAudioPlayer() 

    func playBackgroundMusic(filename: String) { 
     let url = NSBundle.mainBundle().URLForResource(filename, withExtension: nil) 
     guard let newURL = url else { 
      print("Could not find file: \(filename)") 
      return 
     } 
     do { 
      backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: newURL) 
      backgroundMusicPlayer.numberOfLoops = -1 
      backgroundMusicPlayer.prepareToPlay() 
      backgroundMusicPlayer.play() 
     } catch let error as NSError { 
      print(error.description) 
     } 
    } 


    override init(size: CGSize) { 
     super.init(size: size) 

     playBackgroundMusic("bgMusic") 
} 

回答

0

嘗試獲取文件路徑。這對我來說每次都適用。

//Change 'ofType' to whatever the file type is. (.m4a, .mp3, etc.) 
let path = NSBundle.mainBundle().pathForResource(filename, ofType: ".mp3") 
let url = NSURL.fileURLWithPath(path!) 

然後加載URL到AVAudioPlayer。

如果這不起作用,那麼請確保文件名是正確的,並將其添加到您的項目中。祝你好運!

+0

「可選類型的值'字符串?'不打開;你的意思是使用'!'要麼 '?'?」這是在第二行 –

+0

通過添加'!'解包可選項路徑後。如果你添加了文件,假設你的文件在那裏應該是安全的。如果它崩潰,那麼你的文件可能不在正確的項目或文件名是錯誤的。 –